{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Database.PostgreSQL.Pure.Oid
( Oid (Oid)
, _daterange
, _int4range
, _int8range
, _numrange
, _tsrange
, _tstzrange
, bit
, bitArray
, bool
, boolArray
, box
, boxArray
, bpchar
, bpcharArray
, bytea
, byteaArray
, char
, charArray
, cid
, cidArray
, cidr
, cidrArray
, circle
, circleArray
, date
, dateArray
, daterange
, float4
, float4Array
, float8
, float8Array
, inet
, inetArray
, int2
, int2Array
, int2vector
, int2vectorArray
, int4
, int4Array
, int4range
, int8
, int8Array
, int8range
, interval
, intervalArray
, json
, jsonArray
, jsonb
, jsonbArray
, line
, lineArray
, lseg
, lsegArray
, macaddr
, macaddrArray
, money
, moneyArray
, name
, nameArray
, numeric
, numericArray
, numrange
, oid
, oidArray
, oidvector
, oidvectorArray
, path
, pathArray
, point
, pointArray
, polygon
, polygonArray
, record
, recordArray
, refcursor
, refcursorArray
, regclass
, regclassArray
, regoper
, regoperArray
, regoperator
, regoperatorArray
, regproc
, regprocArray
, regprocedure
, regprocedureArray
, regtype
, regtypeArray
, sqlIdentifier
, text
, textArray
, tid
, tidArray
, time
, timeArray
, timestamp
, timestampArray
, timestamptz
, timestamptzArray
, timetz
, timetzArray
, tsrange
, tstzrange
, unknown
, uuid
, uuidArray
, varbit
, varbitArray
, varchar
, varcharArray
, void
, xid
, xidArray
, xml
, xmlArray
) where
import Control.Applicative (Alternative ((<|>)))
import Data.Int (Int32)
import Text.Read (Read (readPrec))
import qualified Text.Read as R
import qualified Text.Read.Lex as R
newtype Oid = Oid Int32 deriving (Eq, Num)
bool :: Oid
bool = 16
bytea :: Oid
bytea = 17
char :: Oid
char = 18
name :: Oid
name = 19
int8 :: Oid
int8 = 20
int2 :: Oid
int2 = 21
int4 :: Oid
int4 = 23
regproc :: Oid
regproc = 24
text :: Oid
text = 25
oid :: Oid
oid = 26
tid :: Oid
tid = 27
xid :: Oid
xid = 28
cid :: Oid
cid = 29
xml :: Oid
xml = 142
point :: Oid
point = 600
lseg :: Oid
lseg = 601
path :: Oid
path = 602
box :: Oid
box = 603
polygon :: Oid
polygon = 604
line :: Oid
line = 628
cidr :: Oid
cidr = 650
float4 :: Oid
float4 = 700
float8 :: Oid
float8 = 701
unknown :: Oid
unknown = 705
circle :: Oid
circle = 718
money :: Oid
money = 790
macaddr :: Oid
macaddr = 829
inet :: Oid
inet = 869
bpchar :: Oid
bpchar = 1042
varchar :: Oid
varchar = 1043
date :: Oid
date = 1082
time :: Oid
time = 1083
timestamp :: Oid
timestamp = 1114
timestamptz :: Oid
timestamptz = 1184
interval :: Oid
interval = 1186
timetz :: Oid
timetz = 1266
bit :: Oid
bit = 1560
varbit :: Oid
varbit = 1562
numeric :: Oid
numeric = 1700
refcursor :: Oid
refcursor = 1790
record :: Oid
record = 2249
void :: Oid
void = 2278
recordArray :: Oid
recordArray = 2287
regprocedure :: Oid
regprocedure = 2202
regoper :: Oid
regoper = 2203
regoperator :: Oid
regoperator = 2204
regclass :: Oid
regclass = 2205
regtype :: Oid
regtype = 2206
uuid :: Oid
uuid = 2950
json :: Oid
json = 114
jsonb :: Oid
jsonb = 3802
int2vector :: Oid
int2vector = 22
oidvector :: Oid
oidvector = 30
xmlArray :: Oid
xmlArray = 143
jsonArray :: Oid
jsonArray = 199
lineArray :: Oid
lineArray = 629
cidrArray :: Oid
cidrArray = 651
circleArray :: Oid
circleArray = 719
moneyArray :: Oid
moneyArray = 791
boolArray :: Oid
boolArray = 1000
byteaArray :: Oid
byteaArray = 1001
charArray :: Oid
charArray = 1002
nameArray :: Oid
nameArray = 1003
int2Array :: Oid
int2Array = 1005
int2vectorArray :: Oid
int2vectorArray = 1006
int4Array :: Oid
int4Array = 1007
regprocArray :: Oid
regprocArray = 1008
textArray :: Oid
textArray = 1009
tidArray :: Oid
tidArray = 1010
xidArray :: Oid
xidArray = 1011
cidArray :: Oid
cidArray = 1012
oidvectorArray :: Oid
oidvectorArray = 1013
bpcharArray :: Oid
bpcharArray = 1014
varcharArray :: Oid
varcharArray = 1015
int8Array :: Oid
int8Array = 1016
pointArray :: Oid
pointArray = 1017
lsegArray :: Oid
lsegArray = 1018
pathArray :: Oid
pathArray = 1019
boxArray :: Oid
boxArray = 1020
float4Array :: Oid
float4Array = 1021
float8Array :: Oid
float8Array = 1022
polygonArray :: Oid
polygonArray = 1027
oidArray :: Oid
oidArray = 1028
macaddrArray :: Oid
macaddrArray = 1040
inetArray :: Oid
inetArray = 1041
timestampArray :: Oid
timestampArray = 1115
dateArray :: Oid
dateArray = 1182
timeArray :: Oid
timeArray = 1183
timestamptzArray :: Oid
timestamptzArray = 1185
intervalArray :: Oid
intervalArray = 1187
numericArray :: Oid
numericArray = 1231
timetzArray :: Oid
timetzArray = 1270
bitArray :: Oid
bitArray = 1561
varbitArray :: Oid
varbitArray = 1563
refcursorArray :: Oid
refcursorArray = 2201
regprocedureArray :: Oid
regprocedureArray = 2207
regoperArray :: Oid
regoperArray = 2208
regoperatorArray :: Oid
regoperatorArray = 2209
regclassArray :: Oid
regclassArray = 2210
regtypeArray :: Oid
regtypeArray = 2211
uuidArray :: Oid
uuidArray = 2951
jsonbArray :: Oid
jsonbArray = 3807
int4range :: Oid
int4range = 3904
_int4range :: Oid
_int4range = 3905
numrange :: Oid
numrange = 3906
_numrange :: Oid
_numrange = 3907
tsrange :: Oid
tsrange = 3908
_tsrange :: Oid
_tsrange = 3909
tstzrange :: Oid
tstzrange = 3910
_tstzrange :: Oid
_tstzrange = 3911
daterange :: Oid
daterange = 3912
_daterange :: Oid
_daterange = 3913
int8range :: Oid
int8range = 3926
_int8range :: Oid
_int8range = 3927
sqlIdentifier :: Oid
sqlIdentifier = 12664
instance Show Oid where
show o | o == bool = "bool"
| o == bytea = "bytea"
| o == char = "char"
| o == name = "name"
| o == int8 = "int8"
| o == int2 = "int2"
| o == int4 = "int4"
| o == regproc = "regproc"
| o == text = "text"
| o == oid = "oid"
| o == tid = "tid"
| o == xid = "xid"
| o == cid = "cid"
| o == xml = "xml"
| o == point = "point"
| o == lseg = "lseg"
| o == path = "path"
| o == box = "box"
| o == polygon = "polygon"
| o == line = "line"
| o == cidr = "cidr"
| o == float4 = "float4"
| o == float8 = "float8"
| o == unknown = "unknown"
| o == circle = "circle"
| o == money = "money"
| o == macaddr = "macaddr"
| o == inet = "inet"
| o == bpchar = "bpchar"
| o == varchar = "varchar"
| o == date = "date"
| o == time = "time"
| o == timestamp = "timestamp"
| o == timestamptz = "timestamptz"
| o == interval = "interval"
| o == timetz = "timetz"
| o == bit = "bit"
| o == varbit = "varbit"
| o == numeric = "numeric"
| o == refcursor = "refcursor"
| o == record = "record"
| o == void = "void"
| o == recordArray = "recordArray"
| o == regprocedure = "regprocedure"
| o == regoper = "regoper"
| o == regoperator = "regoperator"
| o == regclass = "regclass"
| o == regtype = "regtype"
| o == uuid = "uuid"
| o == json = "json"
| o == jsonb = "jsonb"
| o == int2vector = "int2vector"
| o == oidvector = "oidvector"
| o == xmlArray = "xmlArray"
| o == jsonArray = "jsonArray"
| o == lineArray = "lineArray"
| o == cidrArray = "cidrArray"
| o == circleArray = "circleArray"
| o == moneyArray = "moneyArray"
| o == boolArray = "boolArray"
| o == byteaArray = "byteaArray"
| o == charArray = "charArray"
| o == nameArray = "nameArray"
| o == int2Array = "int2Array"
| o == int2vectorArray = "int2vectorArray"
| o == int4Array = "int4Array"
| o == regprocArray = "regprocArray"
| o == textArray = "textArray"
| o == tidArray = "tidArray"
| o == xidArray = "xidArray"
| o == cidArray = "cidArray"
| o == oidvectorArray = "oidvectorArray"
| o == bpcharArray = "bpcharArray"
| o == varcharArray = "varcharArray"
| o == int8Array = "int8Array"
| o == pointArray = "pointArray"
| o == lsegArray = "lsegArray"
| o == pathArray = "pathArray"
| o == boxArray = "boxArray"
| o == float4Array = "float4Array"
| o == float8Array = "float8Array"
| o == polygonArray = "polygonArray"
| o == oidArray = "oidArray"
| o == macaddrArray = "macaddrArray"
| o == inetArray = "inetArray"
| o == timestampArray = "timestampArray"
| o == dateArray = "dateArray"
| o == timeArray = "timeArray"
| o == timestamptzArray = "timestamptzArray"
| o == intervalArray = "intervalArray"
| o == numericArray = "numericArray"
| o == timetzArray = "timetzArray"
| o == bitArray = "bitArray"
| o == varbitArray = "varbitArray"
| o == refcursorArray = "refcursorArray"
| o == regprocedureArray = "regprocedureArray"
| o == regoperArray = "regoperArray"
| o == regoperatorArray = "regoperatorArray"
| o == regclassArray = "regclassArray"
| o == regtypeArray = "regtypeArray"
| o == uuidArray = "uuidArray"
| o == jsonbArray = "jsonbArray"
| o == int4range = "int4range"
| o == _int4range = "_int4range"
| o == numrange = "numrange"
| o == _numrange = "_numrange"
| o == tsrange = "tsrange"
| o == _tsrange = "_tsrange"
| o == tstzrange = "tstzrange"
| o == _tstzrange = "_tstzrange"
| o == daterange = "daterange"
| o == _daterange = "_daterange"
| o == int8range = "int8range"
| o == _int8range = "_int8range"
| o == sqlIdentifier = "sqlIdentifier"
show (Oid n) = show n
instance Read Oid where
readPrec =
R.parens
( do
R.lift $ R.expect $ R.Ident "bool"
pure bool
)
<|> ( do
R.lift $ R.expect $ R.Ident "bytea"
pure bytea
)
<|> ( do
R.lift $ R.expect $ R.Ident "char"
pure char
)
<|> ( do
R.lift $ R.expect $ R.Ident "name"
pure name
)
<|> ( do
R.lift $ R.expect $ R.Ident "int8"
pure int8
)
<|> ( do
R.lift $ R.expect $ R.Ident "int2"
pure int2
)
<|> ( do
R.lift $ R.expect $ R.Ident "int4"
pure int4
)
<|> ( do
R.lift $ R.expect $ R.Ident "regproc"
pure regproc
)
<|> ( do
R.lift $ R.expect $ R.Ident "text"
pure text
)
<|> ( do
R.lift $ R.expect $ R.Ident "oid"
pure oid
)
<|> ( do
R.lift $ R.expect $ R.Ident "tid"
pure tid
)
<|> ( do
R.lift $ R.expect $ R.Ident "xid"
pure xid
)
<|> ( do
R.lift $ R.expect $ R.Ident "cid"
pure cid
)
<|> ( do
R.lift $ R.expect $ R.Ident "xml"
pure xml
)
<|> ( do
R.lift $ R.expect $ R.Ident "point"
pure point
)
<|> ( do
R.lift $ R.expect $ R.Ident "lseg"
pure lseg
)
<|> ( do
R.lift $ R.expect $ R.Ident "path"
pure path
)
<|> ( do
R.lift $ R.expect $ R.Ident "box"
pure box
)
<|> ( do
R.lift $ R.expect $ R.Ident "polygon"
pure polygon
)
<|> ( do
R.lift $ R.expect $ R.Ident "line"
pure line
)
<|> ( do
R.lift $ R.expect $ R.Ident "cidr"
pure cidr
)
<|> ( do
R.lift $ R.expect $ R.Ident "float4"
pure float4
)
<|> ( do
R.lift $ R.expect $ R.Ident "float8"
pure float8
)
<|> ( do
R.lift $ R.expect $ R.Ident "unknown"
pure unknown
)
<|> ( do
R.lift $ R.expect $ R.Ident "circle"
pure circle
)
<|> ( do
R.lift $ R.expect $ R.Ident "money"
pure money
)
<|> ( do
R.lift $ R.expect $ R.Ident "macaddr"
pure macaddr
)
<|> ( do
R.lift $ R.expect $ R.Ident "inet"
pure inet
)
<|> ( do
R.lift $ R.expect $ R.Ident "bpchar"
pure bpchar
)
<|> ( do
R.lift $ R.expect $ R.Ident "varchar"
pure varchar
)
<|> ( do
R.lift $ R.expect $ R.Ident "date"
pure date
)
<|> ( do
R.lift $ R.expect $ R.Ident "time"
pure time
)
<|> ( do
R.lift $ R.expect $ R.Ident "timestamp"
pure timestamp
)
<|> ( do
R.lift $ R.expect $ R.Ident "timestamptz"
pure timestamptz
)
<|> ( do
R.lift $ R.expect $ R.Ident "interval"
pure interval
)
<|> ( do
R.lift $ R.expect $ R.Ident "timetz"
pure timetz
)
<|> ( do
R.lift $ R.expect $ R.Ident "bit"
pure bit
)
<|> ( do
R.lift $ R.expect $ R.Ident "varbit"
pure varbit
)
<|> ( do
R.lift $ R.expect $ R.Ident "numeric"
pure numeric
)
<|> ( do
R.lift $ R.expect $ R.Ident "refcursor"
pure refcursor
)
<|> ( do
R.lift $ R.expect $ R.Ident "record"
pure record
)
<|> ( do
R.lift $ R.expect $ R.Ident "void"
pure void
)
<|> ( do
R.lift $ R.expect $ R.Ident "recordArray"
pure recordArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regprocedure"
pure regprocedure
)
<|> ( do
R.lift $ R.expect $ R.Ident "regoper"
pure regoper
)
<|> ( do
R.lift $ R.expect $ R.Ident "regoperator"
pure regoperator
)
<|> ( do
R.lift $ R.expect $ R.Ident "regclass"
pure regclass
)
<|> ( do
R.lift $ R.expect $ R.Ident "regtype"
pure regtype
)
<|> ( do
R.lift $ R.expect $ R.Ident "uuid"
pure uuid
)
<|> ( do
R.lift $ R.expect $ R.Ident "json"
pure json
)
<|> ( do
R.lift $ R.expect $ R.Ident "jsonb"
pure jsonb
)
<|> ( do
R.lift $ R.expect $ R.Ident "int2vector"
pure int2vector
)
<|> ( do
R.lift $ R.expect $ R.Ident "oidvector"
pure oidvector
)
<|> ( do
R.lift $ R.expect $ R.Ident "xmlArray"
pure xmlArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "jsonArray"
pure jsonArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "lineArray"
pure lineArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "cidrArray"
pure cidrArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "circleArray"
pure circleArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "moneyArray"
pure moneyArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "boolArray"
pure boolArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "byteaArray"
pure byteaArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "charArray"
pure charArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "nameArray"
pure nameArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "int2Array"
pure int2Array
)
<|> ( do
R.lift $ R.expect $ R.Ident "int2vectorArray"
pure int2vectorArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "int4Array"
pure int4Array
)
<|> ( do
R.lift $ R.expect $ R.Ident "regprocArray"
pure regprocArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "textArray"
pure textArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "tidArray"
pure tidArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "xidArray"
pure xidArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "cidArray"
pure cidArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "oidvectorArray"
pure oidvectorArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "bpcharArray"
pure bpcharArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "varcharArray"
pure varcharArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "int8Array"
pure int8Array
)
<|> ( do
R.lift $ R.expect $ R.Ident "pointArray"
pure pointArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "lsegArray"
pure lsegArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "pathArray"
pure pathArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "boxArray"
pure boxArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "float4Array"
pure float4Array
)
<|> ( do
R.lift $ R.expect $ R.Ident "float8Array"
pure float8Array
)
<|> ( do
R.lift $ R.expect $ R.Ident "polygonArray"
pure polygonArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "oidArray"
pure oidArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "macaddrArray"
pure macaddrArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "inetArray"
pure inetArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "timestampArray"
pure timestampArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "dateArray"
pure dateArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "timeArray"
pure timeArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "timestamptzArray"
pure timestamptzArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "intervalArray"
pure intervalArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "numericArray"
pure numericArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "timetzArray"
pure timetzArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "bitArray"
pure bitArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "varbitArray"
pure varbitArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "refcursorArray"
pure refcursorArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regprocedureArray"
pure regprocedureArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regoperArray"
pure regoperArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regoperatorArray"
pure regoperatorArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regclassArray"
pure regclassArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "regtypeArray"
pure regtypeArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "uuidArray"
pure uuidArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "jsonbArray"
pure jsonbArray
)
<|> ( do
R.lift $ R.expect $ R.Ident "int4range"
pure int4range
)
<|> ( do
R.lift $ R.expect $ R.Ident "_int4range"
pure _int4range
)
<|> ( do
R.lift $ R.expect $ R.Ident "numrange"
pure numrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "_numrange"
pure _numrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "tsrange"
pure tsrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "_tsrange"
pure _tsrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "tstzrange"
pure tstzrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "_tstzrange"
pure _tstzrange
)
<|> ( do
R.lift $ R.expect $ R.Ident "daterange"
pure daterange
)
<|> ( do
R.lift $ R.expect $ R.Ident "_daterange"
pure _daterange
)
<|> ( do
R.lift $ R.expect $ R.Ident "int8range"
pure int8range
)
<|> ( do
R.lift $ R.expect $ R.Ident "_int8range"
pure _int8range
)
<|> ( do
R.lift $ R.expect $ R.Ident "sqlIdentifier"
pure sqlIdentifier
)
<|> (Oid <$> readPrec)