------------------------------------------------------------------------------ -- | -- Module: Database.PostgreSQL.Simple.TypeInfo -- Copyright: (c) 2011-2012 Leon P Smith -- License: BSD3 -- Maintainer: Leon P Smith -- Stability: experimental -- -- This module contains portions of the @pg_type@ table that are relevant -- to postgresql-simple and are believed to not change between PostgreSQL -- versions. -- ------------------------------------------------------------------------------ -- Note that this file is generated by tools/GenTypeInfo.hs, and should -- not be edited directly module Database.PostgreSQL.Simple.TypeInfo.Static ( TypeInfo(..) , staticTypeInfo , bool , bytea , char , name , int8 , int2 , int4 , regproc , text , oid , tid , xid , cid , xml , point , lseg , path , box , polygon , line , cidr , float4 , float8 , unknown , circle , money , macaddr , inet , bpchar , varchar , date , time , timestamp , timestamptz , interval , timetz , bit , varbit , numeric , refcursor , record , void , array_record , regprocedure , regoper , regoperator , regclass , regtype , uuid , json , jsonb , int2vector , oidvector , array_xml , array_json , array_line , array_cidr , array_circle , array_money , array_bool , array_bytea , array_char , array_name , array_int2 , array_int2vector , array_int4 , array_regproc , array_text , array_tid , array_xid , array_cid , array_oidvector , array_bpchar , array_varchar , array_int8 , array_point , array_lseg , array_path , array_box , array_float4 , array_float8 , array_polygon , array_oid , array_macaddr , array_inet , array_timestamp , array_date , array_time , array_timestamptz , array_interval , array_numeric , array_timetz , array_bit , array_varbit , array_refcursor , array_regprocedure , array_regoper , array_regoperator , array_regclass , array_regtype , array_uuid , array_jsonb , int4range , _int4range , numrange , _numrange , tsrange , _tsrange , tstzrange , _tstzrange , daterange , _daterange , int8range , _int8range ) where import Database.PostgreSQL.LibPQ (Oid(..)) import Database.PostgreSQL.Simple.TypeInfo.Types staticTypeInfo :: Oid -> Maybe TypeInfo staticTypeInfo (Oid x) = case x of 16 -> Just bool 17 -> Just bytea 18 -> Just char 19 -> Just name 20 -> Just int8 21 -> Just int2 23 -> Just int4 24 -> Just regproc 25 -> Just text 26 -> Just oid 27 -> Just tid 28 -> Just xid 29 -> Just cid 142 -> Just xml 600 -> Just point 601 -> Just lseg 602 -> Just path 603 -> Just box 604 -> Just polygon 628 -> Just line 650 -> Just cidr 700 -> Just float4 701 -> Just float8 705 -> Just unknown 718 -> Just circle 790 -> Just money 829 -> Just macaddr 869 -> Just inet 1042 -> Just bpchar 1043 -> Just varchar 1082 -> Just date 1083 -> Just time 1114 -> Just timestamp 1184 -> Just timestamptz 1186 -> Just interval 1266 -> Just timetz 1560 -> Just bit 1562 -> Just varbit 1700 -> Just numeric 1790 -> Just refcursor 2249 -> Just record 2278 -> Just void 2287 -> Just array_record 2202 -> Just regprocedure 2203 -> Just regoper 2204 -> Just regoperator 2205 -> Just regclass 2206 -> Just regtype 2950 -> Just uuid 114 -> Just json 3802 -> Just jsonb 22 -> Just int2vector 30 -> Just oidvector 143 -> Just array_xml 199 -> Just array_json 629 -> Just array_line 651 -> Just array_cidr 719 -> Just array_circle 791 -> Just array_money 1000 -> Just array_bool 1001 -> Just array_bytea 1002 -> Just array_char 1003 -> Just array_name 1005 -> Just array_int2 1006 -> Just array_int2vector 1007 -> Just array_int4 1008 -> Just array_regproc 1009 -> Just array_text 1010 -> Just array_tid 1011 -> Just array_xid 1012 -> Just array_cid 1013 -> Just array_oidvector 1014 -> Just array_bpchar 1015 -> Just array_varchar 1016 -> Just array_int8 1017 -> Just array_point 1018 -> Just array_lseg 1019 -> Just array_path 1020 -> Just array_box 1021 -> Just array_float4 1022 -> Just array_float8 1027 -> Just array_polygon 1028 -> Just array_oid 1040 -> Just array_macaddr 1041 -> Just array_inet 1115 -> Just array_timestamp 1182 -> Just array_date 1183 -> Just array_time 1185 -> Just array_timestamptz 1187 -> Just array_interval 1231 -> Just array_numeric 1270 -> Just array_timetz 1561 -> Just array_bit 1563 -> Just array_varbit 2201 -> Just array_refcursor 2207 -> Just array_regprocedure 2208 -> Just array_regoper 2209 -> Just array_regoperator 2210 -> Just array_regclass 2211 -> Just array_regtype 2951 -> Just array_uuid 3807 -> Just array_jsonb 3904 -> Just int4range 3905 -> Just _int4range 3906 -> Just numrange 3907 -> Just _numrange 3908 -> Just tsrange 3909 -> Just _tsrange 3910 -> Just tstzrange 3911 -> Just _tstzrange 3912 -> Just daterange 3913 -> Just _daterange 3926 -> Just int8range 3927 -> Just _int8range _ -> Nothing bool :: TypeInfo bool = Basic { typoid = Oid 16, typcategory = 'B', typdelim = ',', typname = "bool" } bytea :: TypeInfo bytea = Basic { typoid = Oid 17, typcategory = 'U', typdelim = ',', typname = "bytea" } char :: TypeInfo char = Basic { typoid = Oid 18, typcategory = 'S', typdelim = ',', typname = "char" } name :: TypeInfo name = Basic { typoid = Oid 19, typcategory = 'S', typdelim = ',', typname = "name" } int8 :: TypeInfo int8 = Basic { typoid = Oid 20, typcategory = 'N', typdelim = ',', typname = "int8" } int2 :: TypeInfo int2 = Basic { typoid = Oid 21, typcategory = 'N', typdelim = ',', typname = "int2" } int4 :: TypeInfo int4 = Basic { typoid = Oid 23, typcategory = 'N', typdelim = ',', typname = "int4" } regproc :: TypeInfo regproc = Basic { typoid = Oid 24, typcategory = 'N', typdelim = ',', typname = "regproc" } text :: TypeInfo text = Basic { typoid = Oid 25, typcategory = 'S', typdelim = ',', typname = "text" } oid :: TypeInfo oid = Basic { typoid = Oid 26, typcategory = 'N', typdelim = ',', typname = "oid" } tid :: TypeInfo tid = Basic { typoid = Oid 27, typcategory = 'U', typdelim = ',', typname = "tid" } xid :: TypeInfo xid = Basic { typoid = Oid 28, typcategory = 'U', typdelim = ',', typname = "xid" } cid :: TypeInfo cid = Basic { typoid = Oid 29, typcategory = 'U', typdelim = ',', typname = "cid" } xml :: TypeInfo xml = Basic { typoid = Oid 142, typcategory = 'U', typdelim = ',', typname = "xml" } point :: TypeInfo point = Basic { typoid = Oid 600, typcategory = 'G', typdelim = ',', typname = "point" } lseg :: TypeInfo lseg = Basic { typoid = Oid 601, typcategory = 'G', typdelim = ',', typname = "lseg" } path :: TypeInfo path = Basic { typoid = Oid 602, typcategory = 'G', typdelim = ',', typname = "path" } box :: TypeInfo box = Basic { typoid = Oid 603, typcategory = 'G', typdelim = ';', typname = "box" } polygon :: TypeInfo polygon = Basic { typoid = Oid 604, typcategory = 'G', typdelim = ',', typname = "polygon" } line :: TypeInfo line = Basic { typoid = Oid 628, typcategory = 'G', typdelim = ',', typname = "line" } cidr :: TypeInfo cidr = Basic { typoid = Oid 650, typcategory = 'I', typdelim = ',', typname = "cidr" } float4 :: TypeInfo float4 = Basic { typoid = Oid 700, typcategory = 'N', typdelim = ',', typname = "float4" } float8 :: TypeInfo float8 = Basic { typoid = Oid 701, typcategory = 'N', typdelim = ',', typname = "float8" } unknown :: TypeInfo unknown = Basic { typoid = Oid 705, typcategory = 'X', typdelim = ',', typname = "unknown" } circle :: TypeInfo circle = Basic { typoid = Oid 718, typcategory = 'G', typdelim = ',', typname = "circle" } money :: TypeInfo money = Basic { typoid = Oid 790, typcategory = 'N', typdelim = ',', typname = "money" } macaddr :: TypeInfo macaddr = Basic { typoid = Oid 829, typcategory = 'U', typdelim = ',', typname = "macaddr" } inet :: TypeInfo inet = Basic { typoid = Oid 869, typcategory = 'I', typdelim = ',', typname = "inet" } bpchar :: TypeInfo bpchar = Basic { typoid = Oid 1042, typcategory = 'S', typdelim = ',', typname = "bpchar" } varchar :: TypeInfo varchar = Basic { typoid = Oid 1043, typcategory = 'S', typdelim = ',', typname = "varchar" } date :: TypeInfo date = Basic { typoid = Oid 1082, typcategory = 'D', typdelim = ',', typname = "date" } time :: TypeInfo time = Basic { typoid = Oid 1083, typcategory = 'D', typdelim = ',', typname = "time" } timestamp :: TypeInfo timestamp = Basic { typoid = Oid 1114, typcategory = 'D', typdelim = ',', typname = "timestamp" } timestamptz :: TypeInfo timestamptz = Basic { typoid = Oid 1184, typcategory = 'D', typdelim = ',', typname = "timestamptz" } interval :: TypeInfo interval = Basic { typoid = Oid 1186, typcategory = 'T', typdelim = ',', typname = "interval" } timetz :: TypeInfo timetz = Basic { typoid = Oid 1266, typcategory = 'D', typdelim = ',', typname = "timetz" } bit :: TypeInfo bit = Basic { typoid = Oid 1560, typcategory = 'V', typdelim = ',', typname = "bit" } varbit :: TypeInfo varbit = Basic { typoid = Oid 1562, typcategory = 'V', typdelim = ',', typname = "varbit" } numeric :: TypeInfo numeric = Basic { typoid = Oid 1700, typcategory = 'N', typdelim = ',', typname = "numeric" } refcursor :: TypeInfo refcursor = Basic { typoid = Oid 1790, typcategory = 'U', typdelim = ',', typname = "refcursor" } record :: TypeInfo record = Basic { typoid = Oid 2249, typcategory = 'P', typdelim = ',', typname = "record" } void :: TypeInfo void = Basic { typoid = Oid 2278, typcategory = 'P', typdelim = ',', typname = "void" } array_record :: TypeInfo array_record = Array { typoid = Oid 2287, typcategory = 'P', typdelim = ',', typname = "_record", typelem = record } regprocedure :: TypeInfo regprocedure = Basic { typoid = Oid 2202, typcategory = 'N', typdelim = ',', typname = "regprocedure" } regoper :: TypeInfo regoper = Basic { typoid = Oid 2203, typcategory = 'N', typdelim = ',', typname = "regoper" } regoperator :: TypeInfo regoperator = Basic { typoid = Oid 2204, typcategory = 'N', typdelim = ',', typname = "regoperator" } regclass :: TypeInfo regclass = Basic { typoid = Oid 2205, typcategory = 'N', typdelim = ',', typname = "regclass" } regtype :: TypeInfo regtype = Basic { typoid = Oid 2206, typcategory = 'N', typdelim = ',', typname = "regtype" } uuid :: TypeInfo uuid = Basic { typoid = Oid 2950, typcategory = 'U', typdelim = ',', typname = "uuid" } json :: TypeInfo json = Basic { typoid = Oid 114, typcategory = 'U', typdelim = ',', typname = "json" } jsonb :: TypeInfo jsonb = Basic { typoid = Oid 3802, typcategory = 'U', typdelim = ',', typname = "jsonb" } int2vector :: TypeInfo int2vector = Array { typoid = Oid 22, typcategory = 'A', typdelim = ',', typname = "int2vector", typelem = int2 } oidvector :: TypeInfo oidvector = Array { typoid = Oid 30, typcategory = 'A', typdelim = ',', typname = "oidvector", typelem = oid } array_xml :: TypeInfo array_xml = Array { typoid = Oid 143, typcategory = 'A', typdelim = ',', typname = "_xml", typelem = xml } array_json :: TypeInfo array_json = Array { typoid = Oid 199, typcategory = 'A', typdelim = ',', typname = "_json", typelem = json } array_line :: TypeInfo array_line = Array { typoid = Oid 629, typcategory = 'A', typdelim = ',', typname = "_line", typelem = line } array_cidr :: TypeInfo array_cidr = Array { typoid = Oid 651, typcategory = 'A', typdelim = ',', typname = "_cidr", typelem = cidr } array_circle :: TypeInfo array_circle = Array { typoid = Oid 719, typcategory = 'A', typdelim = ',', typname = "_circle", typelem = circle } array_money :: TypeInfo array_money = Array { typoid = Oid 791, typcategory = 'A', typdelim = ',', typname = "_money", typelem = money } array_bool :: TypeInfo array_bool = Array { typoid = Oid 1000, typcategory = 'A', typdelim = ',', typname = "_bool", typelem = bool } array_bytea :: TypeInfo array_bytea = Array { typoid = Oid 1001, typcategory = 'A', typdelim = ',', typname = "_bytea", typelem = bytea } array_char :: TypeInfo array_char = Array { typoid = Oid 1002, typcategory = 'A', typdelim = ',', typname = "_char", typelem = char } array_name :: TypeInfo array_name = Array { typoid = Oid 1003, typcategory = 'A', typdelim = ',', typname = "_name", typelem = name } array_int2 :: TypeInfo array_int2 = Array { typoid = Oid 1005, typcategory = 'A', typdelim = ',', typname = "_int2", typelem = int2 } array_int2vector :: TypeInfo array_int2vector = Array { typoid = Oid 1006, typcategory = 'A', typdelim = ',', typname = "_int2vector", typelem = int2vector } array_int4 :: TypeInfo array_int4 = Array { typoid = Oid 1007, typcategory = 'A', typdelim = ',', typname = "_int4", typelem = int4 } array_regproc :: TypeInfo array_regproc = Array { typoid = Oid 1008, typcategory = 'A', typdelim = ',', typname = "_regproc", typelem = regproc } array_text :: TypeInfo array_text = Array { typoid = Oid 1009, typcategory = 'A', typdelim = ',', typname = "_text", typelem = text } array_tid :: TypeInfo array_tid = Array { typoid = Oid 1010, typcategory = 'A', typdelim = ',', typname = "_tid", typelem = tid } array_xid :: TypeInfo array_xid = Array { typoid = Oid 1011, typcategory = 'A', typdelim = ',', typname = "_xid", typelem = xid } array_cid :: TypeInfo array_cid = Array { typoid = Oid 1012, typcategory = 'A', typdelim = ',', typname = "_cid", typelem = cid } array_oidvector :: TypeInfo array_oidvector = Array { typoid = Oid 1013, typcategory = 'A', typdelim = ',', typname = "_oidvector", typelem = oidvector } array_bpchar :: TypeInfo array_bpchar = Array { typoid = Oid 1014, typcategory = 'A', typdelim = ',', typname = "_bpchar", typelem = bpchar } array_varchar :: TypeInfo array_varchar = Array { typoid = Oid 1015, typcategory = 'A', typdelim = ',', typname = "_varchar", typelem = varchar } array_int8 :: TypeInfo array_int8 = Array { typoid = Oid 1016, typcategory = 'A', typdelim = ',', typname = "_int8", typelem = int8 } array_point :: TypeInfo array_point = Array { typoid = Oid 1017, typcategory = 'A', typdelim = ',', typname = "_point", typelem = point } array_lseg :: TypeInfo array_lseg = Array { typoid = Oid 1018, typcategory = 'A', typdelim = ',', typname = "_lseg", typelem = lseg } array_path :: TypeInfo array_path = Array { typoid = Oid 1019, typcategory = 'A', typdelim = ',', typname = "_path", typelem = path } array_box :: TypeInfo array_box = Array { typoid = Oid 1020, typcategory = 'A', typdelim = ';', typname = "_box", typelem = box } array_float4 :: TypeInfo array_float4 = Array { typoid = Oid 1021, typcategory = 'A', typdelim = ',', typname = "_float4", typelem = float4 } array_float8 :: TypeInfo array_float8 = Array { typoid = Oid 1022, typcategory = 'A', typdelim = ',', typname = "_float8", typelem = float8 } array_polygon :: TypeInfo array_polygon = Array { typoid = Oid 1027, typcategory = 'A', typdelim = ',', typname = "_polygon", typelem = polygon } array_oid :: TypeInfo array_oid = Array { typoid = Oid 1028, typcategory = 'A', typdelim = ',', typname = "_oid", typelem = oid } array_macaddr :: TypeInfo array_macaddr = Array { typoid = Oid 1040, typcategory = 'A', typdelim = ',', typname = "_macaddr", typelem = macaddr } array_inet :: TypeInfo array_inet = Array { typoid = Oid 1041, typcategory = 'A', typdelim = ',', typname = "_inet", typelem = inet } array_timestamp :: TypeInfo array_timestamp = Array { typoid = Oid 1115, typcategory = 'A', typdelim = ',', typname = "_timestamp", typelem = timestamp } array_date :: TypeInfo array_date = Array { typoid = Oid 1182, typcategory = 'A', typdelim = ',', typname = "_date", typelem = date } array_time :: TypeInfo array_time = Array { typoid = Oid 1183, typcategory = 'A', typdelim = ',', typname = "_time", typelem = time } array_timestamptz :: TypeInfo array_timestamptz = Array { typoid = Oid 1185, typcategory = 'A', typdelim = ',', typname = "_timestamptz", typelem = timestamptz } array_interval :: TypeInfo array_interval = Array { typoid = Oid 1187, typcategory = 'A', typdelim = ',', typname = "_interval", typelem = interval } array_numeric :: TypeInfo array_numeric = Array { typoid = Oid 1231, typcategory = 'A', typdelim = ',', typname = "_numeric", typelem = numeric } array_timetz :: TypeInfo array_timetz = Array { typoid = Oid 1270, typcategory = 'A', typdelim = ',', typname = "_timetz", typelem = timetz } array_bit :: TypeInfo array_bit = Array { typoid = Oid 1561, typcategory = 'A', typdelim = ',', typname = "_bit", typelem = bit } array_varbit :: TypeInfo array_varbit = Array { typoid = Oid 1563, typcategory = 'A', typdelim = ',', typname = "_varbit", typelem = varbit } array_refcursor :: TypeInfo array_refcursor = Array { typoid = Oid 2201, typcategory = 'A', typdelim = ',', typname = "_refcursor", typelem = refcursor } array_regprocedure :: TypeInfo array_regprocedure = Array { typoid = Oid 2207, typcategory = 'A', typdelim = ',', typname = "_regprocedure", typelem = regprocedure } array_regoper :: TypeInfo array_regoper = Array { typoid = Oid 2208, typcategory = 'A', typdelim = ',', typname = "_regoper", typelem = regoper } array_regoperator :: TypeInfo array_regoperator = Array { typoid = Oid 2209, typcategory = 'A', typdelim = ',', typname = "_regoperator", typelem = regoperator } array_regclass :: TypeInfo array_regclass = Array { typoid = Oid 2210, typcategory = 'A', typdelim = ',', typname = "_regclass", typelem = regclass } array_regtype :: TypeInfo array_regtype = Array { typoid = Oid 2211, typcategory = 'A', typdelim = ',', typname = "_regtype", typelem = regtype } array_uuid :: TypeInfo array_uuid = Array { typoid = Oid 2951, typcategory = 'A', typdelim = ',', typname = "_uuid", typelem = uuid } array_jsonb :: TypeInfo array_jsonb = Array { typoid = Oid 3807, typcategory = 'A', typdelim = ',', typname = "_jsonb", typelem = jsonb } int4range :: TypeInfo int4range = Range { typoid = Oid 3904, typcategory = 'R', typdelim = ',', typname = "int4range", rngsubtype = int4 } _int4range :: TypeInfo _int4range = Array { typoid = Oid 3905, typcategory = 'A', typdelim = ',', typname = "_int4range", typelem = int4range } numrange :: TypeInfo numrange = Range { typoid = Oid 3906, typcategory = 'R', typdelim = ',', typname = "numrange", rngsubtype = numeric } _numrange :: TypeInfo _numrange = Array { typoid = Oid 3907, typcategory = 'A', typdelim = ',', typname = "_numrange", typelem = numrange } tsrange :: TypeInfo tsrange = Range { typoid = Oid 3908, typcategory = 'R', typdelim = ',', typname = "tsrange", rngsubtype = timestamp } _tsrange :: TypeInfo _tsrange = Array { typoid = Oid 3909, typcategory = 'A', typdelim = ',', typname = "_tsrange", typelem = tsrange } tstzrange :: TypeInfo tstzrange = Range { typoid = Oid 3910, typcategory = 'R', typdelim = ',', typname = "tstzrange", rngsubtype = timestamptz } _tstzrange :: TypeInfo _tstzrange = Array { typoid = Oid 3911, typcategory = 'A', typdelim = ',', typname = "_tstzrange", typelem = tstzrange } daterange :: TypeInfo daterange = Range { typoid = Oid 3912, typcategory = 'R', typdelim = ',', typname = "daterange", rngsubtype = date } _daterange :: TypeInfo _daterange = Array { typoid = Oid 3913, typcategory = 'A', typdelim = ',', typname = "_daterange", typelem = daterange } int8range :: TypeInfo int8range = Range { typoid = Oid 3926, typcategory = 'R', typdelim = ',', typname = "int8range", rngsubtype = int8 } _int8range :: TypeInfo _int8range = Array { typoid = Oid 3927, typcategory = 'A', typdelim = ',', typname = "_int8range", typelem = int8range }