@@ -25,6 +25,7 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
2525 , int8
2626 , int2
2727 , int4
28+ , regproc
2829 , text
2930 , oid
3031 , tid
@@ -40,9 +41,6 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
4041 , cidr
4142 , float4
4243 , float8
43− , abstime
44− , reltime
45− , tinterval
4644 , unknown
4745 , circle
4846 , money
@@ -63,6 +61,11 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
6361 , record
6462 , void
6563 , array_record
64+ , regprocedure
65+ , regoper
66+ , regoperator
67+ , regclass
68+ , regtype
6669 , uuid
6770 , json
6871 , jsonb
@@ -81,6 +84,7 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
8184 , array_int2
8285 , array_int2vector
8386 , array_int4
87+ , array_regproc
8488 , array_text
8589 , array_tid
8690 , array_xid
@@ -95,9 +99,6 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
9599 , array_box
96100 , array_float4
97101 , array_float8
98− , array_abstime
99− , array_reltime
100− , array_tinterval
101102 , array_polygon
102103 , array_oid
103104 , array_macaddr
@@ -112,6 +113,11 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
112113 , array_bit
113114 , array_varbit
114115 , array_refcursor
116+ , array_regprocedure
117+ , array_regoper
118+ , array_regoperator
119+ , array_regclass
120+ , array_regtype
115121 , array_uuid
116122 , array_jsonb
117123 , int4range
@@ -140,6 +146,7 @@ staticTypeInfo (Oid x) = case x of
140146 20 -> Just int8
141147 21 -> Just int2
142148 23 -> Just int4
149+ 24 -> Just regproc
143150 25 -> Just text
144151 26 -> Just oid
145152 27 -> Just tid
@@ -155,9 +162,6 @@ staticTypeInfo (Oid x) = case x of
155162 650 -> Just cidr
156163 700 -> Just float4
157164 701 -> Just float8
158− 702 -> Just abstime
159− 703 -> Just reltime
160− 704 -> Just tinterval
161165 705 -> Just unknown
162166 718 -> Just circle
163167 790 -> Just money
@@ -178,6 +182,11 @@ staticTypeInfo (Oid x) = case x of
178182 2249 -> Just record
179183 2278 -> Just void
180184 2287 -> Just array_record
185+ 2202 -> Just regprocedure
186+ 2203 -> Just regoper
187+ 2204 -> Just regoperator
188+ 2205 -> Just regclass
189+ 2206 -> Just regtype
181190 2950 -> Just uuid
182191 114 -> Just json
183192 3802 -> Just jsonb
@@ -196,6 +205,7 @@ staticTypeInfo (Oid x) = case x of
196205 1005 -> Just array_int2
197206 1006 -> Just array_int2vector
198207 1007 -> Just array_int4
208+ 1008 -> Just array_regproc
199209 1009 -> Just array_text
200210 1010 -> Just array_tid
201211 1011 -> Just array_xid
@@ -210,9 +220,6 @@ staticTypeInfo (Oid x) = case x of
210220 1020 -> Just array_box
211221 1021 -> Just array_float4
212222 1022 -> Just array_float8
213− 1023 -> Just array_abstime
214− 1024 -> Just array_reltime
215− 1025 -> Just array_tinterval
216223 1027 -> Just array_polygon
217224 1028 -> Just array_oid
218225 1040 -> Just array_macaddr
@@ -227,6 +234,11 @@ staticTypeInfo (Oid x) = case x of
227234 1561 -> Just array_bit
228235 1563 -> Just array_varbit
229236 2201 -> Just array_refcursor
237+ 2207 -> Just array_regprocedure
238+ 2208 -> Just array_regoper
239+ 2209 -> Just array_regoperator
240+ 2210 -> Just array_regclass
241+ 2211 -> Just array_regtype
230242 2951 -> Just array_uuid
231243 3807 -> Just array_jsonb
232244 3904 -> Just int4range
@@ -299,6 +311,14 @@ int4 = Basic {
299311 typname = "int4"
300312 }
301313
314+regproc :: TypeInfo
315+regproc = Basic {
316+ typoid = Oid 24,
317+ typcategory = 'N',
318+ typdelim = ',',
319+ typname = "regproc"
320+ }
321+
302322text :: TypeInfo
303323text = Basic {
304324 typoid = Oid 25,
@@ -419,30 +439,6 @@ float8 = Basic {
419439 typname = "float8"
420440 }
421441
422−abstime :: TypeInfo
423−abstime = Basic {
424− typoid = Oid 702,
425− typcategory = 'D',
426− typdelim = ',',
427− typname = "abstime"
428− }
429−
430−reltime :: TypeInfo
431−reltime = Basic {
432− typoid = Oid 703,
433− typcategory = 'T',
434− typdelim = ',',
435− typname = "reltime"
436− }
437−
438−tinterval :: TypeInfo
439−tinterval = Basic {
440− typoid = Oid 704,
441− typcategory = 'T',
442− typdelim = ',',
443− typname = "tinterval"
444− }
445−
446442unknown :: TypeInfo
447443unknown = Basic {
448444 typoid = Oid 705,
@@ -604,6 +600,46 @@ array_record = Array {
604600 typelem = record
605601 }
606602
603+regprocedure :: TypeInfo
604+regprocedure = Basic {
605+ typoid = Oid 2202,
606+ typcategory = 'N',
607+ typdelim = ',',
608+ typname = "regprocedure"
609+ }
610+
611+regoper :: TypeInfo
612+regoper = Basic {
613+ typoid = Oid 2203,
614+ typcategory = 'N',
615+ typdelim = ',',
616+ typname = "regoper"
617+ }
618+
619+regoperator :: TypeInfo
620+regoperator = Basic {
621+ typoid = Oid 2204,
622+ typcategory = 'N',
623+ typdelim = ',',
624+ typname = "regoperator"
625+ }
626+
627+regclass :: TypeInfo
628+regclass = Basic {
629+ typoid = Oid 2205,
630+ typcategory = 'N',
631+ typdelim = ',',
632+ typname = "regclass"
633+ }
634+
635+regtype :: TypeInfo
636+regtype = Basic {
637+ typoid = Oid 2206,
638+ typcategory = 'N',
639+ typdelim = ',',
640+ typname = "regtype"
641+ }
642+
607643uuid :: TypeInfo
608644uuid = Basic {
609645 typoid = Oid 2950,
@@ -763,6 +799,15 @@ array_int4 = Array {
763799 typelem = int4
764800 }
765801
802+array_regproc :: TypeInfo
803+array_regproc = Array {
804+ typoid = Oid 1008,
805+ typcategory = 'A',
806+ typdelim = ',',
807+ typname = "_regproc",
808+ typelem = regproc
809+ }
810+
766811array_text :: TypeInfo
767812array_text = Array {
768813 typoid = Oid 1009,
@@ -889,33 +934,6 @@ array_float8 = Array {
889934 typelem = float8
890935 }
891936
892−array_abstime :: TypeInfo
893−array_abstime = Array {
894− typoid = Oid 1023,
895− typcategory = 'A',
896− typdelim = ',',
897− typname = "_abstime",
898− typelem = abstime
899− }
900−
901−array_reltime :: TypeInfo
902−array_reltime = Array {
903− typoid = Oid 1024,
904− typcategory = 'A',
905− typdelim = ',',
906− typname = "_reltime",
907− typelem = reltime
908− }
909−
910−array_tinterval :: TypeInfo
911−array_tinterval = Array {
912− typoid = Oid 1025,
913− typcategory = 'A',
914− typdelim = ',',
915− typname = "_tinterval",
916− typelem = tinterval
917− }
918−
919937array_polygon :: TypeInfo
920938array_polygon = Array {
921939 typoid = Oid 1027,
@@ -1042,6 +1060,51 @@ array_refcursor = Array {
10421060 typelem = refcursor
10431061 }
10441062
1063+array_regprocedure :: TypeInfo
1064+array_regprocedure = Array {
1065+ typoid = Oid 2207,
1066+ typcategory = 'A',
1067+ typdelim = ',',
1068+ typname = "_regprocedure",
1069+ typelem = regprocedure
1070+ }
1071+
1072+array_regoper :: TypeInfo
1073+array_regoper = Array {
1074+ typoid = Oid 2208,
1075+ typcategory = 'A',
1076+ typdelim = ',',
1077+ typname = "_regoper",
1078+ typelem = regoper
1079+ }
1080+
1081+array_regoperator :: TypeInfo
1082+array_regoperator = Array {
1083+ typoid = Oid 2209,
1084+ typcategory = 'A',
1085+ typdelim = ',',
1086+ typname = "_regoperator",
1087+ typelem = regoperator
1088+ }
1089+
1090+array_regclass :: TypeInfo
1091+array_regclass = Array {
1092+ typoid = Oid 2210,
1093+ typcategory = 'A',
1094+ typdelim = ',',
1095+ typname = "_regclass",
1096+ typelem = regclass
1097+ }
1098+
1099+array_regtype :: TypeInfo
1100+array_regtype = Array {
1101+ typoid = Oid 2211,
1102+ typcategory = 'A',
1103+ typdelim = ',',
1104+ typname = "_regtype",
1105+ typelem = regtype
1106+ }
1107+
10451108array_uuid :: TypeInfo
10461109array_uuid = Array {
10471110 typoid = Oid 2951,