Skip to content

Commit 1e5c93a

Browse files
committed
Tweak static table
Add back in regproc, as well as many of the other reg* oid types. Remove the obsolete and now internal abstime, reltime, and tinterval types.
1 parent 6d044b8 commit 1e5c93a

File tree

2 files changed

+138
-69
lines changed

2 files changed

+138
-69
lines changed

src/Database/PostgreSQL/Simple/TypeInfo/Static.hs

+126-63
Original file line numberDiff line numberDiff line change
@@ -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+
302322
text :: TypeInfo
303323
text = 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-
446442
unknown :: TypeInfo
447443
unknown = 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+
607643
uuid :: TypeInfo
608644
uuid = 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+
766811
array_text :: TypeInfo
767812
array_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-
919937
array_polygon :: TypeInfo
920938
array_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+
10451108
array_uuid :: TypeInfo
10461109
array_uuid = Array {
10471110
typoid = Oid 2951,

tools/GenTypeInfo.hs

+12-6
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ name
8888
int8
8989
int2
9090
int4
91+
regproc
9192
text
9293
oid
9394
tid
@@ -103,9 +104,6 @@ line
103104
cidr
104105
float4
105106
float8
106-
abstime
107-
reltime
108-
tinterval
109107
unknown
110108
circle
111109
money
@@ -126,6 +124,11 @@ refcursor
126124
record
127125
void
128126
_record array_record
127+
regprocedure
128+
regoper
129+
regoperator
130+
regclass
131+
regtype
129132
uuid
130133
json
131134
jsonb
@@ -144,6 +147,7 @@ _name array_name
144147
_int2 array_int2
145148
_int2vector array_int2vector
146149
_int4 array_int4
150+
_regproc array_regproc
147151
_text array_text
148152
_tid array_tid
149153
_xid array_xid
@@ -158,9 +162,6 @@ _path array_path
158162
_box array_box
159163
_float4 array_float4
160164
_float8 array_float8
161-
_abstime array_abstime
162-
_reltime array_reltime
163-
_tinterval array_tinterval
164165
_polygon array_polygon
165166
_oid array_oid
166167
_macaddr array_macaddr
@@ -175,6 +176,11 @@ _timetz array_timetz
175176
_bit array_bit
176177
_varbit array_varbit
177178
_refcursor array_refcursor
179+
_regprocedure array_regprocedure
180+
_regoper array_regoper
181+
_regoperator array_regoperator
182+
_regclass array_regclass
183+
_regtype array_regtype
178184
_uuid array_uuid
179185
_jsonb array_jsonb
180186
int4range

0 commit comments

Comments
 (0)