@@ -6,6 +6,9 @@
66-- Maintainer: Leon P Smith <leon@melding-monads.com>
77-- Stability: experimental
88--
9+-- Note that this module is semi-internal, and you probably want to use
10+-- Database.PostgreSQL.Simple.TypeInfo instead.
11+--
912------------------------------------------------------------------------------
1013
1114-- Note that this file is generated by tools/GenTypeInfo.hs, and should
@@ -62,16 +65,8 @@ module Database.PostgreSQL.Simple.TypeInfo.Static
6265 , uuid
6366 ) where
6467
65−import Data.ByteString (ByteString)
6668import Database.PostgreSQL.LibPQ (Oid(..))
67−
68−data TypeInfo = TypeInfo
69− { typoid :: {-# UNPACK #-} !Oid
70− , typcategory :: {-# UNPACK #-} !Char
71− , typdelim :: {-# UNPACK #-} !Char
72− , typelem :: !(Maybe TypeInfo)
73− , typname :: !ByteString
74− }
69+import Database.PostgreSQL.Simple.TypeInfo.Types
7570
7671staticTypeInfo :: Oid -> Maybe TypeInfo
7772staticTypeInfo (Oid x) = case x of
@@ -124,415 +119,369 @@ staticTypeInfo (Oid x) = case x of
124119 _ -> Nothing
125120
126121bool :: TypeInfo
127−bool = TypeInfo {
122+bool = Basic {
128123 typoid = Oid 16,
129124 typcategory = 'B',
130125 typdelim = ',',
131− typelem = Nothing,
132126 typname = "bool"
133127 }
134128
135129bytea :: TypeInfo
136−bytea = TypeInfo {
130+bytea = Basic {
137131 typoid = Oid 17,
138132 typcategory = 'U',
139133 typdelim = ',',
140− typelem = Nothing,
141134 typname = "bytea"
142135 }
143136
144137char :: TypeInfo
145−char = TypeInfo {
138+char = Basic {
146139 typoid = Oid 18,
147140 typcategory = 'S',
148141 typdelim = ',',
149− typelem = Nothing,
150142 typname = "char"
151143 }
152144
153145name :: TypeInfo
154−name = TypeInfo {
146+name = Basic {
155147 typoid = Oid 19,
156148 typcategory = 'S',
157149 typdelim = ',',
158− typelem = Just char,
159150 typname = "name"
160151 }
161152
162153int8 :: TypeInfo
163−int8 = TypeInfo {
154+int8 = Basic {
164155 typoid = Oid 20,
165156 typcategory = 'N',
166157 typdelim = ',',
167− typelem = Nothing,
168158 typname = "int8"
169159 }
170160
171161int2 :: TypeInfo
172−int2 = TypeInfo {
162+int2 = Basic {
173163 typoid = Oid 21,
174164 typcategory = 'N',
175165 typdelim = ',',
176− typelem = Nothing,
177166 typname = "int2"
178167 }
179168
180169int4 :: TypeInfo
181−int4 = TypeInfo {
170+int4 = Basic {
182171 typoid = Oid 23,
183172 typcategory = 'N',
184173 typdelim = ',',
185− typelem = Nothing,
186174 typname = "int4"
187175 }
188176
189177regproc :: TypeInfo
190−regproc = TypeInfo {
178+regproc = Basic {
191179 typoid = Oid 24,
192180 typcategory = 'N',
193181 typdelim = ',',
194− typelem = Nothing,
195182 typname = "regproc"
196183 }
197184
198185text :: TypeInfo
199−text = TypeInfo {
186+text = Basic {
200187 typoid = Oid 25,
201188 typcategory = 'S',
202189 typdelim = ',',
203− typelem = Nothing,
204190 typname = "text"
205191 }
206192
207193oid :: TypeInfo
208−oid = TypeInfo {
194+oid = Basic {
209195 typoid = Oid 26,
210196 typcategory = 'N',
211197 typdelim = ',',
212− typelem = Nothing,
213198 typname = "oid"
214199 }
215200
216201tid :: TypeInfo
217−tid = TypeInfo {
202+tid = Basic {
218203 typoid = Oid 27,
219204 typcategory = 'U',
220205 typdelim = ',',
221− typelem = Nothing,
222206 typname = "tid"
223207 }
224208
225209xid :: TypeInfo
226−xid = TypeInfo {
210+xid = Basic {
227211 typoid = Oid 28,
228212 typcategory = 'U',
229213 typdelim = ',',
230− typelem = Nothing,
231214 typname = "xid"
232215 }
233216
234217cid :: TypeInfo
235−cid = TypeInfo {
218+cid = Basic {
236219 typoid = Oid 29,
237220 typcategory = 'U',
238221 typdelim = ',',
239− typelem = Nothing,
240222 typname = "cid"
241223 }
242224
243225xml :: TypeInfo
244−xml = TypeInfo {
226+xml = Basic {
245227 typoid = Oid 142,
246228 typcategory = 'U',
247229 typdelim = ',',
248− typelem = Nothing,
249230 typname = "xml"
250231 }
251232
252233point :: TypeInfo
253−point = TypeInfo {
234+point = Basic {
254235 typoid = Oid 600,
255236 typcategory = 'G',
256237 typdelim = ',',
257− typelem = Just float8,
258238 typname = "point"
259239 }
260240
261241lseg :: TypeInfo
262−lseg = TypeInfo {
242+lseg = Basic {
263243 typoid = Oid 601,
264244 typcategory = 'G',
265245 typdelim = ',',
266− typelem = Just point,
267246 typname = "lseg"
268247 }
269248
270249path :: TypeInfo
271−path = TypeInfo {
250+path = Basic {
272251 typoid = Oid 602,
273252 typcategory = 'G',
274253 typdelim = ',',
275− typelem = Nothing,
276254 typname = "path"
277255 }
278256
279257box :: TypeInfo
280−box = TypeInfo {
258+box = Basic {
281259 typoid = Oid 603,
282260 typcategory = 'G',
283261 typdelim = ';',
284− typelem = Just point,
285262 typname = "box"
286263 }
287264
288265polygon :: TypeInfo
289−polygon = TypeInfo {
266+polygon = Basic {
290267 typoid = Oid 604,
291268 typcategory = 'G',
292269 typdelim = ',',
293− typelem = Nothing,
294270 typname = "polygon"
295271 }
296272
297273line :: TypeInfo
298−line = TypeInfo {
274+line = Basic {
299275 typoid = Oid 628,
300276 typcategory = 'G',
301277 typdelim = ',',
302− typelem = Just float8,
303278 typname = "line"
304279 }
305280
306281cidr :: TypeInfo
307−cidr = TypeInfo {
282+cidr = Basic {
308283 typoid = Oid 650,
309284 typcategory = 'I',
310285 typdelim = ',',
311− typelem = Nothing,
312286 typname = "cidr"
313287 }
314288
315289float4 :: TypeInfo
316−float4 = TypeInfo {
290+float4 = Basic {
317291 typoid = Oid 700,
318292 typcategory = 'N',
319293 typdelim = ',',
320− typelem = Nothing,
321294 typname = "float4"
322295 }
323296
324297float8 :: TypeInfo
325−float8 = TypeInfo {
298+float8 = Basic {
326299 typoid = Oid 701,
327300 typcategory = 'N',
328301 typdelim = ',',
329− typelem = Nothing,
330302 typname = "float8"
331303 }
332304
333305abstime :: TypeInfo
334−abstime = TypeInfo {
306+abstime = Basic {
335307 typoid = Oid 702,
336308 typcategory = 'D',
337309 typdelim = ',',
338− typelem = Nothing,
339310 typname = "abstime"
340311 }
341312
342313reltime :: TypeInfo
343−reltime = TypeInfo {
314+reltime = Basic {
344315 typoid = Oid 703,
345316 typcategory = 'T',
346317 typdelim = ',',
347− typelem = Nothing,
348318 typname = "reltime"
349319 }
350320
351321tinterval :: TypeInfo
352−tinterval = TypeInfo {
322+tinterval = Basic {
353323 typoid = Oid 704,
354324 typcategory = 'T',
355325 typdelim = ',',
356− typelem = Nothing,
357326 typname = "tinterval"
358327 }
359328
360329unknown :: TypeInfo
361−unknown = TypeInfo {
330+unknown = Basic {
362331 typoid = Oid 705,
363332 typcategory = 'X',
364333 typdelim = ',',
365− typelem = Nothing,
366334 typname = "unknown"
367335 }
368336
369337circle :: TypeInfo
370−circle = TypeInfo {
338+circle = Basic {
371339 typoid = Oid 718,
372340 typcategory = 'G',
373341 typdelim = ',',
374− typelem = Nothing,
375342 typname = "circle"
376343 }
377344
378345money :: TypeInfo
379−money = TypeInfo {
346+money = Basic {
380347 typoid = Oid 790,
381348 typcategory = 'N',
382349 typdelim = ',',
383− typelem = Nothing,
384350 typname = "money"
385351 }
386352
387353macaddr :: TypeInfo
388−macaddr = TypeInfo {
354+macaddr = Basic {
389355 typoid = Oid 829,
390356 typcategory = 'U',
391357 typdelim = ',',
392− typelem = Nothing,
393358 typname = "macaddr"
394359 }
395360
396361inet :: TypeInfo
397−inet = TypeInfo {
362+inet = Basic {
398363 typoid = Oid 869,
399364 typcategory = 'I',
400365 typdelim = ',',
401− typelem = Nothing,
402366 typname = "inet"
403367 }
404368
405369bpchar :: TypeInfo
406−bpchar = TypeInfo {
370+bpchar = Basic {
407371 typoid = Oid 1042,
408372 typcategory = 'S',
409373 typdelim = ',',
410− typelem = Nothing,
411374 typname = "bpchar"
412375 }
413376
414377varchar :: TypeInfo
415−varchar = TypeInfo {
378+varchar = Basic {
416379 typoid = Oid 1043,
417380 typcategory = 'S',
418381 typdelim = ',',
419− typelem = Nothing,
420382 typname = "varchar"
421383 }
422384
423385date :: TypeInfo
424−date = TypeInfo {
386+date = Basic {
425387 typoid = Oid 1082,
426388 typcategory = 'D',
427389 typdelim = ',',
428− typelem = Nothing,
429390 typname = "date"
430391 }
431392
432393time :: TypeInfo
433−time = TypeInfo {
394+time = Basic {
434395 typoid = Oid 1083,
435396 typcategory = 'D',
436397 typdelim = ',',
437− typelem = Nothing,
438398 typname = "time"
439399 }
440400
441401timestamp :: TypeInfo
442−timestamp = TypeInfo {
402+timestamp = Basic {
443403 typoid = Oid 1114,
444404 typcategory = 'D',
445405 typdelim = ',',
446− typelem = Nothing,
447406 typname = "timestamp"
448407 }
449408
450409timestamptz :: TypeInfo
451−timestamptz = TypeInfo {
410+timestamptz = Basic {
452411 typoid = Oid 1184,
453412 typcategory = 'D',
454413 typdelim = ',',
455− typelem = Nothing,
456414 typname = "timestamptz"
457415 }
458416
459417interval :: TypeInfo
460−interval = TypeInfo {
418+interval = Basic {
461419 typoid = Oid 1186,
462420 typcategory = 'T',
463421 typdelim = ',',
464− typelem = Nothing,
465422 typname = "interval"
466423 }
467424
468425timetz :: TypeInfo
469−timetz = TypeInfo {
426+timetz = Basic {
470427 typoid = Oid 1266,
471428 typcategory = 'D',
472429 typdelim = ',',
473− typelem = Nothing,
474430 typname = "timetz"
475431 }
476432
477433bit :: TypeInfo
478−bit = TypeInfo {
434+bit = Basic {
479435 typoid = Oid 1560,
480436 typcategory = 'V',
481437 typdelim = ',',
482− typelem = Nothing,
483438 typname = "bit"
484439 }
485440
486441varbit :: TypeInfo
487−varbit = TypeInfo {
442+varbit = Basic {
488443 typoid = Oid 1562,
489444 typcategory = 'V',
490445 typdelim = ',',
491− typelem = Nothing,
492446 typname = "varbit"
493447 }
494448
495449numeric :: TypeInfo
496−numeric = TypeInfo {
450+numeric = Basic {
497451 typoid = Oid 1700,
498452 typcategory = 'N',
499453 typdelim = ',',
500− typelem = Nothing,
501454 typname = "numeric"
502455 }
503456
504457refcursor :: TypeInfo
505−refcursor = TypeInfo {
458+refcursor = Basic {
506459 typoid = Oid 1790,
507460 typcategory = 'U',
508461 typdelim = ',',
509− typelem = Nothing,
510462 typname = "refcursor"
511463 }
512464
513465record :: TypeInfo
514−record = TypeInfo {
466+record = Basic {
515467 typoid = Oid 2249,
516468 typcategory = 'P',
517469 typdelim = ',',
518− typelem = Nothing,
519470 typname = "record"
520471 }
521472
522473void :: TypeInfo
523−void = TypeInfo {
474+void = Basic {
524475 typoid = Oid 2278,
525476 typcategory = 'P',
526477 typdelim = ',',
527− typelem = Nothing,
528478 typname = "void"
529479 }
530480
531481uuid :: TypeInfo
532−uuid = TypeInfo {
482+uuid = Basic {
533483 typoid = Oid 2950,
534484 typcategory = 'U',
535485 typdelim = ',',
536− typelem = Nothing,
537486 typname = "uuid"
538487 }