1use std::sync::Arc;
3
4use crate::{Kind, Oid, Type};
5
6#[derive(PartialEq, Eq, Debug, Hash)]
7pub struct Other {
8 pub name: String,
9 pub oid: Oid,
10 pub kind: Kind,
11 pub schema: String,
12}
13
14#[derive(PartialEq, Eq, Clone, Debug, Hash)]
15pub enum Inner {
16 Bool,
17 Bytea,
18 Char,
19 Name,
20 Int8,
21 Int2,
22 Int2Vector,
23 Int4,
24 Regproc,
25 Text,
26 Oid,
27 Tid,
28 Xid,
29 Cid,
30 OidVector,
31 PgDdlCommand,
32 Json,
33 Xml,
34 XmlArray,
35 PgNodeTree,
36 JsonArray,
37 TableAmHandler,
38 Xid8Array,
39 IndexAmHandler,
40 Point,
41 Lseg,
42 Path,
43 Box,
44 Polygon,
45 Line,
46 LineArray,
47 Cidr,
48 CidrArray,
49 Float4,
50 Float8,
51 Unknown,
52 Circle,
53 CircleArray,
54 Macaddr8,
55 Macaddr8Array,
56 Money,
57 MoneyArray,
58 Macaddr,
59 Inet,
60 BoolArray,
61 ByteaArray,
62 CharArray,
63 NameArray,
64 Int2Array,
65 Int2VectorArray,
66 Int4Array,
67 RegprocArray,
68 TextArray,
69 TidArray,
70 XidArray,
71 CidArray,
72 OidVectorArray,
73 BpcharArray,
74 VarcharArray,
75 Int8Array,
76 PointArray,
77 LsegArray,
78 PathArray,
79 BoxArray,
80 Float4Array,
81 Float8Array,
82 PolygonArray,
83 OidArray,
84 Aclitem,
85 AclitemArray,
86 MacaddrArray,
87 InetArray,
88 Bpchar,
89 Varchar,
90 Date,
91 Time,
92 Timestamp,
93 TimestampArray,
94 DateArray,
95 TimeArray,
96 Timestamptz,
97 TimestamptzArray,
98 Interval,
99 IntervalArray,
100 NumericArray,
101 CstringArray,
102 Timetz,
103 TimetzArray,
104 Bit,
105 BitArray,
106 Varbit,
107 VarbitArray,
108 Numeric,
109 Refcursor,
110 RefcursorArray,
111 Regprocedure,
112 Regoper,
113 Regoperator,
114 Regclass,
115 Regtype,
116 RegprocedureArray,
117 RegoperArray,
118 RegoperatorArray,
119 RegclassArray,
120 RegtypeArray,
121 Record,
122 Cstring,
123 Any,
124 Anyarray,
125 Void,
126 Trigger,
127 LanguageHandler,
128 Internal,
129 Anyelement,
130 RecordArray,
131 Anynonarray,
132 TxidSnapshotArray,
133 Uuid,
134 UuidArray,
135 TxidSnapshot,
136 FdwHandler,
137 PgLsn,
138 PgLsnArray,
139 TsmHandler,
140 PgNdistinct,
141 PgDependencies,
142 Anyenum,
143 TsVector,
144 Tsquery,
145 GtsVector,
146 TsVectorArray,
147 GtsVectorArray,
148 TsqueryArray,
149 Regconfig,
150 RegconfigArray,
151 Regdictionary,
152 RegdictionaryArray,
153 Jsonb,
154 JsonbArray,
155 AnyRange,
156 EventTrigger,
157 Int4Range,
158 Int4RangeArray,
159 NumRange,
160 NumRangeArray,
161 TsRange,
162 TsRangeArray,
163 TstzRange,
164 TstzRangeArray,
165 DateRange,
166 DateRangeArray,
167 Int8Range,
168 Int8RangeArray,
169 Jsonpath,
170 JsonpathArray,
171 Regnamespace,
172 RegnamespaceArray,
173 Regrole,
174 RegroleArray,
175 Regcollation,
176 RegcollationArray,
177 Int4multiRange,
178 NummultiRange,
179 TsmultiRange,
180 TstzmultiRange,
181 DatemultiRange,
182 Int8multiRange,
183 AnymultiRange,
184 AnycompatiblemultiRange,
185 PgBrinBloomSummary,
186 PgBrinMinmaxMultiSummary,
187 PgMcvList,
188 PgSnapshot,
189 PgSnapshotArray,
190 Xid8,
191 Anycompatible,
192 Anycompatiblearray,
193 Anycompatiblenonarray,
194 AnycompatibleRange,
195 Int4multiRangeArray,
196 NummultiRangeArray,
197 TsmultiRangeArray,
198 TstzmultiRangeArray,
199 DatemultiRangeArray,
200 Int8multiRangeArray,
201 Other(Arc<Other>),
202}
203
204impl Inner {
205 pub fn from_oid(oid: Oid) -> Option<Inner> {
206 match oid {
207 16 => Some(Inner::Bool),
208 17 => Some(Inner::Bytea),
209 18 => Some(Inner::Char),
210 19 => Some(Inner::Name),
211 20 => Some(Inner::Int8),
212 21 => Some(Inner::Int2),
213 22 => Some(Inner::Int2Vector),
214 23 => Some(Inner::Int4),
215 24 => Some(Inner::Regproc),
216 25 => Some(Inner::Text),
217 26 => Some(Inner::Oid),
218 27 => Some(Inner::Tid),
219 28 => Some(Inner::Xid),
220 29 => Some(Inner::Cid),
221 30 => Some(Inner::OidVector),
222 32 => Some(Inner::PgDdlCommand),
223 114 => Some(Inner::Json),
224 142 => Some(Inner::Xml),
225 143 => Some(Inner::XmlArray),
226 194 => Some(Inner::PgNodeTree),
227 199 => Some(Inner::JsonArray),
228 269 => Some(Inner::TableAmHandler),
229 271 => Some(Inner::Xid8Array),
230 325 => Some(Inner::IndexAmHandler),
231 600 => Some(Inner::Point),
232 601 => Some(Inner::Lseg),
233 602 => Some(Inner::Path),
234 603 => Some(Inner::Box),
235 604 => Some(Inner::Polygon),
236 628 => Some(Inner::Line),
237 629 => Some(Inner::LineArray),
238 650 => Some(Inner::Cidr),
239 651 => Some(Inner::CidrArray),
240 700 => Some(Inner::Float4),
241 701 => Some(Inner::Float8),
242 705 => Some(Inner::Unknown),
243 718 => Some(Inner::Circle),
244 719 => Some(Inner::CircleArray),
245 774 => Some(Inner::Macaddr8),
246 775 => Some(Inner::Macaddr8Array),
247 790 => Some(Inner::Money),
248 791 => Some(Inner::MoneyArray),
249 829 => Some(Inner::Macaddr),
250 869 => Some(Inner::Inet),
251 1000 => Some(Inner::BoolArray),
252 1001 => Some(Inner::ByteaArray),
253 1002 => Some(Inner::CharArray),
254 1003 => Some(Inner::NameArray),
255 1005 => Some(Inner::Int2Array),
256 1006 => Some(Inner::Int2VectorArray),
257 1007 => Some(Inner::Int4Array),
258 1008 => Some(Inner::RegprocArray),
259 1009 => Some(Inner::TextArray),
260 1010 => Some(Inner::TidArray),
261 1011 => Some(Inner::XidArray),
262 1012 => Some(Inner::CidArray),
263 1013 => Some(Inner::OidVectorArray),
264 1014 => Some(Inner::BpcharArray),
265 1015 => Some(Inner::VarcharArray),
266 1016 => Some(Inner::Int8Array),
267 1017 => Some(Inner::PointArray),
268 1018 => Some(Inner::LsegArray),
269 1019 => Some(Inner::PathArray),
270 1020 => Some(Inner::BoxArray),
271 1021 => Some(Inner::Float4Array),
272 1022 => Some(Inner::Float8Array),
273 1027 => Some(Inner::PolygonArray),
274 1028 => Some(Inner::OidArray),
275 1033 => Some(Inner::Aclitem),
276 1034 => Some(Inner::AclitemArray),
277 1040 => Some(Inner::MacaddrArray),
278 1041 => Some(Inner::InetArray),
279 1042 => Some(Inner::Bpchar),
280 1043 => Some(Inner::Varchar),
281 1082 => Some(Inner::Date),
282 1083 => Some(Inner::Time),
283 1114 => Some(Inner::Timestamp),
284 1115 => Some(Inner::TimestampArray),
285 1182 => Some(Inner::DateArray),
286 1183 => Some(Inner::TimeArray),
287 1184 => Some(Inner::Timestamptz),
288 1185 => Some(Inner::TimestamptzArray),
289 1186 => Some(Inner::Interval),
290 1187 => Some(Inner::IntervalArray),
291 1231 => Some(Inner::NumericArray),
292 1263 => Some(Inner::CstringArray),
293 1266 => Some(Inner::Timetz),
294 1270 => Some(Inner::TimetzArray),
295 1560 => Some(Inner::Bit),
296 1561 => Some(Inner::BitArray),
297 1562 => Some(Inner::Varbit),
298 1563 => Some(Inner::VarbitArray),
299 1700 => Some(Inner::Numeric),
300 1790 => Some(Inner::Refcursor),
301 2201 => Some(Inner::RefcursorArray),
302 2202 => Some(Inner::Regprocedure),
303 2203 => Some(Inner::Regoper),
304 2204 => Some(Inner::Regoperator),
305 2205 => Some(Inner::Regclass),
306 2206 => Some(Inner::Regtype),
307 2207 => Some(Inner::RegprocedureArray),
308 2208 => Some(Inner::RegoperArray),
309 2209 => Some(Inner::RegoperatorArray),
310 2210 => Some(Inner::RegclassArray),
311 2211 => Some(Inner::RegtypeArray),
312 2249 => Some(Inner::Record),
313 2275 => Some(Inner::Cstring),
314 2276 => Some(Inner::Any),
315 2277 => Some(Inner::Anyarray),
316 2278 => Some(Inner::Void),
317 2279 => Some(Inner::Trigger),
318 2280 => Some(Inner::LanguageHandler),
319 2281 => Some(Inner::Internal),
320 2283 => Some(Inner::Anyelement),
321 2287 => Some(Inner::RecordArray),
322 2776 => Some(Inner::Anynonarray),
323 2949 => Some(Inner::TxidSnapshotArray),
324 2950 => Some(Inner::Uuid),
325 2951 => Some(Inner::UuidArray),
326 2970 => Some(Inner::TxidSnapshot),
327 3115 => Some(Inner::FdwHandler),
328 3220 => Some(Inner::PgLsn),
329 3221 => Some(Inner::PgLsnArray),
330 3310 => Some(Inner::TsmHandler),
331 3361 => Some(Inner::PgNdistinct),
332 3402 => Some(Inner::PgDependencies),
333 3500 => Some(Inner::Anyenum),
334 3614 => Some(Inner::TsVector),
335 3615 => Some(Inner::Tsquery),
336 3642 => Some(Inner::GtsVector),
337 3643 => Some(Inner::TsVectorArray),
338 3644 => Some(Inner::GtsVectorArray),
339 3645 => Some(Inner::TsqueryArray),
340 3734 => Some(Inner::Regconfig),
341 3735 => Some(Inner::RegconfigArray),
342 3769 => Some(Inner::Regdictionary),
343 3770 => Some(Inner::RegdictionaryArray),
344 3802 => Some(Inner::Jsonb),
345 3807 => Some(Inner::JsonbArray),
346 3831 => Some(Inner::AnyRange),
347 3838 => Some(Inner::EventTrigger),
348 3904 => Some(Inner::Int4Range),
349 3905 => Some(Inner::Int4RangeArray),
350 3906 => Some(Inner::NumRange),
351 3907 => Some(Inner::NumRangeArray),
352 3908 => Some(Inner::TsRange),
353 3909 => Some(Inner::TsRangeArray),
354 3910 => Some(Inner::TstzRange),
355 3911 => Some(Inner::TstzRangeArray),
356 3912 => Some(Inner::DateRange),
357 3913 => Some(Inner::DateRangeArray),
358 3926 => Some(Inner::Int8Range),
359 3927 => Some(Inner::Int8RangeArray),
360 4072 => Some(Inner::Jsonpath),
361 4073 => Some(Inner::JsonpathArray),
362 4089 => Some(Inner::Regnamespace),
363 4090 => Some(Inner::RegnamespaceArray),
364 4096 => Some(Inner::Regrole),
365 4097 => Some(Inner::RegroleArray),
366 4191 => Some(Inner::Regcollation),
367 4192 => Some(Inner::RegcollationArray),
368 4451 => Some(Inner::Int4multiRange),
369 4532 => Some(Inner::NummultiRange),
370 4533 => Some(Inner::TsmultiRange),
371 4534 => Some(Inner::TstzmultiRange),
372 4535 => Some(Inner::DatemultiRange),
373 4536 => Some(Inner::Int8multiRange),
374 4537 => Some(Inner::AnymultiRange),
375 4538 => Some(Inner::AnycompatiblemultiRange),
376 4600 => Some(Inner::PgBrinBloomSummary),
377 4601 => Some(Inner::PgBrinMinmaxMultiSummary),
378 5017 => Some(Inner::PgMcvList),
379 5038 => Some(Inner::PgSnapshot),
380 5039 => Some(Inner::PgSnapshotArray),
381 5069 => Some(Inner::Xid8),
382 5077 => Some(Inner::Anycompatible),
383 5078 => Some(Inner::Anycompatiblearray),
384 5079 => Some(Inner::Anycompatiblenonarray),
385 5080 => Some(Inner::AnycompatibleRange),
386 6150 => Some(Inner::Int4multiRangeArray),
387 6151 => Some(Inner::NummultiRangeArray),
388 6152 => Some(Inner::TsmultiRangeArray),
389 6153 => Some(Inner::TstzmultiRangeArray),
390 6155 => Some(Inner::DatemultiRangeArray),
391 6157 => Some(Inner::Int8multiRangeArray),
392 _ => None,
393 }
394 }
395
396 pub fn oid(&self) -> Oid {
397 match *self {
398 Inner::Bool => 16,
399 Inner::Bytea => 17,
400 Inner::Char => 18,
401 Inner::Name => 19,
402 Inner::Int8 => 20,
403 Inner::Int2 => 21,
404 Inner::Int2Vector => 22,
405 Inner::Int4 => 23,
406 Inner::Regproc => 24,
407 Inner::Text => 25,
408 Inner::Oid => 26,
409 Inner::Tid => 27,
410 Inner::Xid => 28,
411 Inner::Cid => 29,
412 Inner::OidVector => 30,
413 Inner::PgDdlCommand => 32,
414 Inner::Json => 114,
415 Inner::Xml => 142,
416 Inner::XmlArray => 143,
417 Inner::PgNodeTree => 194,
418 Inner::JsonArray => 199,
419 Inner::TableAmHandler => 269,
420 Inner::Xid8Array => 271,
421 Inner::IndexAmHandler => 325,
422 Inner::Point => 600,
423 Inner::Lseg => 601,
424 Inner::Path => 602,
425 Inner::Box => 603,
426 Inner::Polygon => 604,
427 Inner::Line => 628,
428 Inner::LineArray => 629,
429 Inner::Cidr => 650,
430 Inner::CidrArray => 651,
431 Inner::Float4 => 700,
432 Inner::Float8 => 701,
433 Inner::Unknown => 705,
434 Inner::Circle => 718,
435 Inner::CircleArray => 719,
436 Inner::Macaddr8 => 774,
437 Inner::Macaddr8Array => 775,
438 Inner::Money => 790,
439 Inner::MoneyArray => 791,
440 Inner::Macaddr => 829,
441 Inner::Inet => 869,
442 Inner::BoolArray => 1000,
443 Inner::ByteaArray => 1001,
444 Inner::CharArray => 1002,
445 Inner::NameArray => 1003,
446 Inner::Int2Array => 1005,
447 Inner::Int2VectorArray => 1006,
448 Inner::Int4Array => 1007,
449 Inner::RegprocArray => 1008,
450 Inner::TextArray => 1009,
451 Inner::TidArray => 1010,
452 Inner::XidArray => 1011,
453 Inner::CidArray => 1012,
454 Inner::OidVectorArray => 1013,
455 Inner::BpcharArray => 1014,
456 Inner::VarcharArray => 1015,
457 Inner::Int8Array => 1016,
458 Inner::PointArray => 1017,
459 Inner::LsegArray => 1018,
460 Inner::PathArray => 1019,
461 Inner::BoxArray => 1020,
462 Inner::Float4Array => 1021,
463 Inner::Float8Array => 1022,
464 Inner::PolygonArray => 1027,
465 Inner::OidArray => 1028,
466 Inner::Aclitem => 1033,
467 Inner::AclitemArray => 1034,
468 Inner::MacaddrArray => 1040,
469 Inner::InetArray => 1041,
470 Inner::Bpchar => 1042,
471 Inner::Varchar => 1043,
472 Inner::Date => 1082,
473 Inner::Time => 1083,
474 Inner::Timestamp => 1114,
475 Inner::TimestampArray => 1115,
476 Inner::DateArray => 1182,
477 Inner::TimeArray => 1183,
478 Inner::Timestamptz => 1184,
479 Inner::TimestamptzArray => 1185,
480 Inner::Interval => 1186,
481 Inner::IntervalArray => 1187,
482 Inner::NumericArray => 1231,
483 Inner::CstringArray => 1263,
484 Inner::Timetz => 1266,
485 Inner::TimetzArray => 1270,
486 Inner::Bit => 1560,
487 Inner::BitArray => 1561,
488 Inner::Varbit => 1562,
489 Inner::VarbitArray => 1563,
490 Inner::Numeric => 1700,
491 Inner::Refcursor => 1790,
492 Inner::RefcursorArray => 2201,
493 Inner::Regprocedure => 2202,
494 Inner::Regoper => 2203,
495 Inner::Regoperator => 2204,
496 Inner::Regclass => 2205,
497 Inner::Regtype => 2206,
498 Inner::RegprocedureArray => 2207,
499 Inner::RegoperArray => 2208,
500 Inner::RegoperatorArray => 2209,
501 Inner::RegclassArray => 2210,
502 Inner::RegtypeArray => 2211,
503 Inner::Record => 2249,
504 Inner::Cstring => 2275,
505 Inner::Any => 2276,
506 Inner::Anyarray => 2277,
507 Inner::Void => 2278,
508 Inner::Trigger => 2279,
509 Inner::LanguageHandler => 2280,
510 Inner::Internal => 2281,
511 Inner::Anyelement => 2283,
512 Inner::RecordArray => 2287,
513 Inner::Anynonarray => 2776,
514 Inner::TxidSnapshotArray => 2949,
515 Inner::Uuid => 2950,
516 Inner::UuidArray => 2951,
517 Inner::TxidSnapshot => 2970,
518 Inner::FdwHandler => 3115,
519 Inner::PgLsn => 3220,
520 Inner::PgLsnArray => 3221,
521 Inner::TsmHandler => 3310,
522 Inner::PgNdistinct => 3361,
523 Inner::PgDependencies => 3402,
524 Inner::Anyenum => 3500,
525 Inner::TsVector => 3614,
526 Inner::Tsquery => 3615,
527 Inner::GtsVector => 3642,
528 Inner::TsVectorArray => 3643,
529 Inner::GtsVectorArray => 3644,
530 Inner::TsqueryArray => 3645,
531 Inner::Regconfig => 3734,
532 Inner::RegconfigArray => 3735,
533 Inner::Regdictionary => 3769,
534 Inner::RegdictionaryArray => 3770,
535 Inner::Jsonb => 3802,
536 Inner::JsonbArray => 3807,
537 Inner::AnyRange => 3831,
538 Inner::EventTrigger => 3838,
539 Inner::Int4Range => 3904,
540 Inner::Int4RangeArray => 3905,
541 Inner::NumRange => 3906,
542 Inner::NumRangeArray => 3907,
543 Inner::TsRange => 3908,
544 Inner::TsRangeArray => 3909,
545 Inner::TstzRange => 3910,
546 Inner::TstzRangeArray => 3911,
547 Inner::DateRange => 3912,
548 Inner::DateRangeArray => 3913,
549 Inner::Int8Range => 3926,
550 Inner::Int8RangeArray => 3927,
551 Inner::Jsonpath => 4072,
552 Inner::JsonpathArray => 4073,
553 Inner::Regnamespace => 4089,
554 Inner::RegnamespaceArray => 4090,
555 Inner::Regrole => 4096,
556 Inner::RegroleArray => 4097,
557 Inner::Regcollation => 4191,
558 Inner::RegcollationArray => 4192,
559 Inner::Int4multiRange => 4451,
560 Inner::NummultiRange => 4532,
561 Inner::TsmultiRange => 4533,
562 Inner::TstzmultiRange => 4534,
563 Inner::DatemultiRange => 4535,
564 Inner::Int8multiRange => 4536,
565 Inner::AnymultiRange => 4537,
566 Inner::AnycompatiblemultiRange => 4538,
567 Inner::PgBrinBloomSummary => 4600,
568 Inner::PgBrinMinmaxMultiSummary => 4601,
569 Inner::PgMcvList => 5017,
570 Inner::PgSnapshot => 5038,
571 Inner::PgSnapshotArray => 5039,
572 Inner::Xid8 => 5069,
573 Inner::Anycompatible => 5077,
574 Inner::Anycompatiblearray => 5078,
575 Inner::Anycompatiblenonarray => 5079,
576 Inner::AnycompatibleRange => 5080,
577 Inner::Int4multiRangeArray => 6150,
578 Inner::NummultiRangeArray => 6151,
579 Inner::TsmultiRangeArray => 6152,
580 Inner::TstzmultiRangeArray => 6153,
581 Inner::DatemultiRangeArray => 6155,
582 Inner::Int8multiRangeArray => 6157,
583 Inner::Other(ref u) => u.oid,
584 }
585 }
586
587 pub fn kind(&self) -> &Kind {
588 match *self {
589 Inner::Bool => &Kind::Simple,
590 Inner::Bytea => &Kind::Simple,
591 Inner::Char => &Kind::Simple,
592 Inner::Name => &Kind::Simple,
593 Inner::Int8 => &Kind::Simple,
594 Inner::Int2 => &Kind::Simple,
595 Inner::Int2Vector => &Kind::Array(Type(Inner::Int2)),
596 Inner::Int4 => &Kind::Simple,
597 Inner::Regproc => &Kind::Simple,
598 Inner::Text => &Kind::Simple,
599 Inner::Oid => &Kind::Simple,
600 Inner::Tid => &Kind::Simple,
601 Inner::Xid => &Kind::Simple,
602 Inner::Cid => &Kind::Simple,
603 Inner::OidVector => &Kind::Array(Type(Inner::Oid)),
604 Inner::PgDdlCommand => &Kind::Pseudo,
605 Inner::Json => &Kind::Simple,
606 Inner::Xml => &Kind::Simple,
607 Inner::XmlArray => &Kind::Array(Type(Inner::Xml)),
608 Inner::PgNodeTree => &Kind::Simple,
609 Inner::JsonArray => &Kind::Array(Type(Inner::Json)),
610 Inner::TableAmHandler => &Kind::Pseudo,
611 Inner::Xid8Array => &Kind::Array(Type(Inner::Xid8)),
612 Inner::IndexAmHandler => &Kind::Pseudo,
613 Inner::Point => &Kind::Simple,
614 Inner::Lseg => &Kind::Simple,
615 Inner::Path => &Kind::Simple,
616 Inner::Box => &Kind::Simple,
617 Inner::Polygon => &Kind::Simple,
618 Inner::Line => &Kind::Simple,
619 Inner::LineArray => &Kind::Array(Type(Inner::Line)),
620 Inner::Cidr => &Kind::Simple,
621 Inner::CidrArray => &Kind::Array(Type(Inner::Cidr)),
622 Inner::Float4 => &Kind::Simple,
623 Inner::Float8 => &Kind::Simple,
624 Inner::Unknown => &Kind::Simple,
625 Inner::Circle => &Kind::Simple,
626 Inner::CircleArray => &Kind::Array(Type(Inner::Circle)),
627 Inner::Macaddr8 => &Kind::Simple,
628 Inner::Macaddr8Array => &Kind::Array(Type(Inner::Macaddr8)),
629 Inner::Money => &Kind::Simple,
630 Inner::MoneyArray => &Kind::Array(Type(Inner::Money)),
631 Inner::Macaddr => &Kind::Simple,
632 Inner::Inet => &Kind::Simple,
633 Inner::BoolArray => &Kind::Array(Type(Inner::Bool)),
634 Inner::ByteaArray => &Kind::Array(Type(Inner::Bytea)),
635 Inner::CharArray => &Kind::Array(Type(Inner::Char)),
636 Inner::NameArray => &Kind::Array(Type(Inner::Name)),
637 Inner::Int2Array => &Kind::Array(Type(Inner::Int2)),
638 Inner::Int2VectorArray => &Kind::Array(Type(Inner::Int2Vector)),
639 Inner::Int4Array => &Kind::Array(Type(Inner::Int4)),
640 Inner::RegprocArray => &Kind::Array(Type(Inner::Regproc)),
641 Inner::TextArray => &Kind::Array(Type(Inner::Text)),
642 Inner::TidArray => &Kind::Array(Type(Inner::Tid)),
643 Inner::XidArray => &Kind::Array(Type(Inner::Xid)),
644 Inner::CidArray => &Kind::Array(Type(Inner::Cid)),
645 Inner::OidVectorArray => &Kind::Array(Type(Inner::OidVector)),
646 Inner::BpcharArray => &Kind::Array(Type(Inner::Bpchar)),
647 Inner::VarcharArray => &Kind::Array(Type(Inner::Varchar)),
648 Inner::Int8Array => &Kind::Array(Type(Inner::Int8)),
649 Inner::PointArray => &Kind::Array(Type(Inner::Point)),
650 Inner::LsegArray => &Kind::Array(Type(Inner::Lseg)),
651 Inner::PathArray => &Kind::Array(Type(Inner::Path)),
652 Inner::BoxArray => &Kind::Array(Type(Inner::Box)),
653 Inner::Float4Array => &Kind::Array(Type(Inner::Float4)),
654 Inner::Float8Array => &Kind::Array(Type(Inner::Float8)),
655 Inner::PolygonArray => &Kind::Array(Type(Inner::Polygon)),
656 Inner::OidArray => &Kind::Array(Type(Inner::Oid)),
657 Inner::Aclitem => &Kind::Simple,
658 Inner::AclitemArray => &Kind::Array(Type(Inner::Aclitem)),
659 Inner::MacaddrArray => &Kind::Array(Type(Inner::Macaddr)),
660 Inner::InetArray => &Kind::Array(Type(Inner::Inet)),
661 Inner::Bpchar => &Kind::Simple,
662 Inner::Varchar => &Kind::Simple,
663 Inner::Date => &Kind::Simple,
664 Inner::Time => &Kind::Simple,
665 Inner::Timestamp => &Kind::Simple,
666 Inner::TimestampArray => &Kind::Array(Type(Inner::Timestamp)),
667 Inner::DateArray => &Kind::Array(Type(Inner::Date)),
668 Inner::TimeArray => &Kind::Array(Type(Inner::Time)),
669 Inner::Timestamptz => &Kind::Simple,
670 Inner::TimestamptzArray => &Kind::Array(Type(Inner::Timestamptz)),
671 Inner::Interval => &Kind::Simple,
672 Inner::IntervalArray => &Kind::Array(Type(Inner::Interval)),
673 Inner::NumericArray => &Kind::Array(Type(Inner::Numeric)),
674 Inner::CstringArray => &Kind::Array(Type(Inner::Cstring)),
675 Inner::Timetz => &Kind::Simple,
676 Inner::TimetzArray => &Kind::Array(Type(Inner::Timetz)),
677 Inner::Bit => &Kind::Simple,
678 Inner::BitArray => &Kind::Array(Type(Inner::Bit)),
679 Inner::Varbit => &Kind::Simple,
680 Inner::VarbitArray => &Kind::Array(Type(Inner::Varbit)),
681 Inner::Numeric => &Kind::Simple,
682 Inner::Refcursor => &Kind::Simple,
683 Inner::RefcursorArray => &Kind::Array(Type(Inner::Refcursor)),
684 Inner::Regprocedure => &Kind::Simple,
685 Inner::Regoper => &Kind::Simple,
686 Inner::Regoperator => &Kind::Simple,
687 Inner::Regclass => &Kind::Simple,
688 Inner::Regtype => &Kind::Simple,
689 Inner::RegprocedureArray => &Kind::Array(Type(Inner::Regprocedure)),
690 Inner::RegoperArray => &Kind::Array(Type(Inner::Regoper)),
691 Inner::RegoperatorArray => &Kind::Array(Type(Inner::Regoperator)),
692 Inner::RegclassArray => &Kind::Array(Type(Inner::Regclass)),
693 Inner::RegtypeArray => &Kind::Array(Type(Inner::Regtype)),
694 Inner::Record => &Kind::Pseudo,
695 Inner::Cstring => &Kind::Pseudo,
696 Inner::Any => &Kind::Pseudo,
697 Inner::Anyarray => &Kind::Pseudo,
698 Inner::Void => &Kind::Pseudo,
699 Inner::Trigger => &Kind::Pseudo,
700 Inner::LanguageHandler => &Kind::Pseudo,
701 Inner::Internal => &Kind::Pseudo,
702 Inner::Anyelement => &Kind::Pseudo,
703 Inner::RecordArray => &Kind::Pseudo,
704 Inner::Anynonarray => &Kind::Pseudo,
705 Inner::TxidSnapshotArray => &Kind::Array(Type(Inner::TxidSnapshot)),
706 Inner::Uuid => &Kind::Simple,
707 Inner::UuidArray => &Kind::Array(Type(Inner::Uuid)),
708 Inner::TxidSnapshot => &Kind::Simple,
709 Inner::FdwHandler => &Kind::Pseudo,
710 Inner::PgLsn => &Kind::Simple,
711 Inner::PgLsnArray => &Kind::Array(Type(Inner::PgLsn)),
712 Inner::TsmHandler => &Kind::Pseudo,
713 Inner::PgNdistinct => &Kind::Simple,
714 Inner::PgDependencies => &Kind::Simple,
715 Inner::Anyenum => &Kind::Pseudo,
716 Inner::TsVector => &Kind::Simple,
717 Inner::Tsquery => &Kind::Simple,
718 Inner::GtsVector => &Kind::Simple,
719 Inner::TsVectorArray => &Kind::Array(Type(Inner::TsVector)),
720 Inner::GtsVectorArray => &Kind::Array(Type(Inner::GtsVector)),
721 Inner::TsqueryArray => &Kind::Array(Type(Inner::Tsquery)),
722 Inner::Regconfig => &Kind::Simple,
723 Inner::RegconfigArray => &Kind::Array(Type(Inner::Regconfig)),
724 Inner::Regdictionary => &Kind::Simple,
725 Inner::RegdictionaryArray => &Kind::Array(Type(Inner::Regdictionary)),
726 Inner::Jsonb => &Kind::Simple,
727 Inner::JsonbArray => &Kind::Array(Type(Inner::Jsonb)),
728 Inner::AnyRange => &Kind::Pseudo,
729 Inner::EventTrigger => &Kind::Pseudo,
730 Inner::Int4Range => &Kind::Range(Type(Inner::Int4)),
731 Inner::Int4RangeArray => &Kind::Array(Type(Inner::Int4Range)),
732 Inner::NumRange => &Kind::Range(Type(Inner::Numeric)),
733 Inner::NumRangeArray => &Kind::Array(Type(Inner::NumRange)),
734 Inner::TsRange => &Kind::Range(Type(Inner::Timestamp)),
735 Inner::TsRangeArray => &Kind::Array(Type(Inner::TsRange)),
736 Inner::TstzRange => &Kind::Range(Type(Inner::Timestamptz)),
737 Inner::TstzRangeArray => &Kind::Array(Type(Inner::TstzRange)),
738 Inner::DateRange => &Kind::Range(Type(Inner::Date)),
739 Inner::DateRangeArray => &Kind::Array(Type(Inner::DateRange)),
740 Inner::Int8Range => &Kind::Range(Type(Inner::Int8)),
741 Inner::Int8RangeArray => &Kind::Array(Type(Inner::Int8Range)),
742 Inner::Jsonpath => &Kind::Simple,
743 Inner::JsonpathArray => &Kind::Array(Type(Inner::Jsonpath)),
744 Inner::Regnamespace => &Kind::Simple,
745 Inner::RegnamespaceArray => &Kind::Array(Type(Inner::Regnamespace)),
746 Inner::Regrole => &Kind::Simple,
747 Inner::RegroleArray => &Kind::Array(Type(Inner::Regrole)),
748 Inner::Regcollation => &Kind::Simple,
749 Inner::RegcollationArray => &Kind::Array(Type(Inner::Regcollation)),
750 Inner::Int4multiRange => &Kind::Multirange(Type(Inner::Int4)),
751 Inner::NummultiRange => &Kind::Multirange(Type(Inner::Numeric)),
752 Inner::TsmultiRange => &Kind::Multirange(Type(Inner::Timestamp)),
753 Inner::TstzmultiRange => &Kind::Multirange(Type(Inner::Timestamptz)),
754 Inner::DatemultiRange => &Kind::Multirange(Type(Inner::Date)),
755 Inner::Int8multiRange => &Kind::Multirange(Type(Inner::Int8)),
756 Inner::AnymultiRange => &Kind::Pseudo,
757 Inner::AnycompatiblemultiRange => &Kind::Pseudo,
758 Inner::PgBrinBloomSummary => &Kind::Simple,
759 Inner::PgBrinMinmaxMultiSummary => &Kind::Simple,
760 Inner::PgMcvList => &Kind::Simple,
761 Inner::PgSnapshot => &Kind::Simple,
762 Inner::PgSnapshotArray => &Kind::Array(Type(Inner::PgSnapshot)),
763 Inner::Xid8 => &Kind::Simple,
764 Inner::Anycompatible => &Kind::Pseudo,
765 Inner::Anycompatiblearray => &Kind::Pseudo,
766 Inner::Anycompatiblenonarray => &Kind::Pseudo,
767 Inner::AnycompatibleRange => &Kind::Pseudo,
768 Inner::Int4multiRangeArray => &Kind::Array(Type(Inner::Int4multiRange)),
769 Inner::NummultiRangeArray => &Kind::Array(Type(Inner::NummultiRange)),
770 Inner::TsmultiRangeArray => &Kind::Array(Type(Inner::TsmultiRange)),
771 Inner::TstzmultiRangeArray => &Kind::Array(Type(Inner::TstzmultiRange)),
772 Inner::DatemultiRangeArray => &Kind::Array(Type(Inner::DatemultiRange)),
773 Inner::Int8multiRangeArray => &Kind::Array(Type(Inner::Int8multiRange)),
774 Inner::Other(ref u) => &u.kind,
775 }
776 }
777
778 pub fn name(&self) -> &str {
779 match *self {
780 Inner::Bool => "bool",
781 Inner::Bytea => "bytea",
782 Inner::Char => "char",
783 Inner::Name => "name",
784 Inner::Int8 => "int8",
785 Inner::Int2 => "int2",
786 Inner::Int2Vector => "int2vector",
787 Inner::Int4 => "int4",
788 Inner::Regproc => "regproc",
789 Inner::Text => "text",
790 Inner::Oid => "oid",
791 Inner::Tid => "tid",
792 Inner::Xid => "xid",
793 Inner::Cid => "cid",
794 Inner::OidVector => "oidvector",
795 Inner::PgDdlCommand => "pg_ddl_command",
796 Inner::Json => "json",
797 Inner::Xml => "xml",
798 Inner::XmlArray => "_xml",
799 Inner::PgNodeTree => "pg_node_tree",
800 Inner::JsonArray => "_json",
801 Inner::TableAmHandler => "table_am_handler",
802 Inner::Xid8Array => "_xid8",
803 Inner::IndexAmHandler => "index_am_handler",
804 Inner::Point => "point",
805 Inner::Lseg => "lseg",
806 Inner::Path => "path",
807 Inner::Box => "box",
808 Inner::Polygon => "polygon",
809 Inner::Line => "line",
810 Inner::LineArray => "_line",
811 Inner::Cidr => "cidr",
812 Inner::CidrArray => "_cidr",
813 Inner::Float4 => "float4",
814 Inner::Float8 => "float8",
815 Inner::Unknown => "unknown",
816 Inner::Circle => "circle",
817 Inner::CircleArray => "_circle",
818 Inner::Macaddr8 => "macaddr8",
819 Inner::Macaddr8Array => "_macaddr8",
820 Inner::Money => "money",
821 Inner::MoneyArray => "_money",
822 Inner::Macaddr => "macaddr",
823 Inner::Inet => "inet",
824 Inner::BoolArray => "_bool",
825 Inner::ByteaArray => "_bytea",
826 Inner::CharArray => "_char",
827 Inner::NameArray => "_name",
828 Inner::Int2Array => "_int2",
829 Inner::Int2VectorArray => "_int2vector",
830 Inner::Int4Array => "_int4",
831 Inner::RegprocArray => "_regproc",
832 Inner::TextArray => "_text",
833 Inner::TidArray => "_tid",
834 Inner::XidArray => "_xid",
835 Inner::CidArray => "_cid",
836 Inner::OidVectorArray => "_oidvector",
837 Inner::BpcharArray => "_bpchar",
838 Inner::VarcharArray => "_varchar",
839 Inner::Int8Array => "_int8",
840 Inner::PointArray => "_point",
841 Inner::LsegArray => "_lseg",
842 Inner::PathArray => "_path",
843 Inner::BoxArray => "_box",
844 Inner::Float4Array => "_float4",
845 Inner::Float8Array => "_float8",
846 Inner::PolygonArray => "_polygon",
847 Inner::OidArray => "_oid",
848 Inner::Aclitem => "aclitem",
849 Inner::AclitemArray => "_aclitem",
850 Inner::MacaddrArray => "_macaddr",
851 Inner::InetArray => "_inet",
852 Inner::Bpchar => "bpchar",
853 Inner::Varchar => "varchar",
854 Inner::Date => "date",
855 Inner::Time => "time",
856 Inner::Timestamp => "timestamp",
857 Inner::TimestampArray => "_timestamp",
858 Inner::DateArray => "_date",
859 Inner::TimeArray => "_time",
860 Inner::Timestamptz => "timestamptz",
861 Inner::TimestamptzArray => "_timestamptz",
862 Inner::Interval => "interval",
863 Inner::IntervalArray => "_interval",
864 Inner::NumericArray => "_numeric",
865 Inner::CstringArray => "_cstring",
866 Inner::Timetz => "timetz",
867 Inner::TimetzArray => "_timetz",
868 Inner::Bit => "bit",
869 Inner::BitArray => "_bit",
870 Inner::Varbit => "varbit",
871 Inner::VarbitArray => "_varbit",
872 Inner::Numeric => "numeric",
873 Inner::Refcursor => "refcursor",
874 Inner::RefcursorArray => "_refcursor",
875 Inner::Regprocedure => "regprocedure",
876 Inner::Regoper => "regoper",
877 Inner::Regoperator => "regoperator",
878 Inner::Regclass => "regclass",
879 Inner::Regtype => "regtype",
880 Inner::RegprocedureArray => "_regprocedure",
881 Inner::RegoperArray => "_regoper",
882 Inner::RegoperatorArray => "_regoperator",
883 Inner::RegclassArray => "_regclass",
884 Inner::RegtypeArray => "_regtype",
885 Inner::Record => "record",
886 Inner::Cstring => "cstring",
887 Inner::Any => "any",
888 Inner::Anyarray => "anyarray",
889 Inner::Void => "void",
890 Inner::Trigger => "trigger",
891 Inner::LanguageHandler => "language_handler",
892 Inner::Internal => "internal",
893 Inner::Anyelement => "anyelement",
894 Inner::RecordArray => "_record",
895 Inner::Anynonarray => "anynonarray",
896 Inner::TxidSnapshotArray => "_txid_snapshot",
897 Inner::Uuid => "uuid",
898 Inner::UuidArray => "_uuid",
899 Inner::TxidSnapshot => "txid_snapshot",
900 Inner::FdwHandler => "fdw_handler",
901 Inner::PgLsn => "pg_lsn",
902 Inner::PgLsnArray => "_pg_lsn",
903 Inner::TsmHandler => "tsm_handler",
904 Inner::PgNdistinct => "pg_ndistinct",
905 Inner::PgDependencies => "pg_dependencies",
906 Inner::Anyenum => "anyenum",
907 Inner::TsVector => "tsvector",
908 Inner::Tsquery => "tsquery",
909 Inner::GtsVector => "gtsvector",
910 Inner::TsVectorArray => "_tsvector",
911 Inner::GtsVectorArray => "_gtsvector",
912 Inner::TsqueryArray => "_tsquery",
913 Inner::Regconfig => "regconfig",
914 Inner::RegconfigArray => "_regconfig",
915 Inner::Regdictionary => "regdictionary",
916 Inner::RegdictionaryArray => "_regdictionary",
917 Inner::Jsonb => "jsonb",
918 Inner::JsonbArray => "_jsonb",
919 Inner::AnyRange => "anyrange",
920 Inner::EventTrigger => "event_trigger",
921 Inner::Int4Range => "int4range",
922 Inner::Int4RangeArray => "_int4range",
923 Inner::NumRange => "numrange",
924 Inner::NumRangeArray => "_numrange",
925 Inner::TsRange => "tsrange",
926 Inner::TsRangeArray => "_tsrange",
927 Inner::TstzRange => "tstzrange",
928 Inner::TstzRangeArray => "_tstzrange",
929 Inner::DateRange => "daterange",
930 Inner::DateRangeArray => "_daterange",
931 Inner::Int8Range => "int8range",
932 Inner::Int8RangeArray => "_int8range",
933 Inner::Jsonpath => "jsonpath",
934 Inner::JsonpathArray => "_jsonpath",
935 Inner::Regnamespace => "regnamespace",
936 Inner::RegnamespaceArray => "_regnamespace",
937 Inner::Regrole => "regrole",
938 Inner::RegroleArray => "_regrole",
939 Inner::Regcollation => "regcollation",
940 Inner::RegcollationArray => "_regcollation",
941 Inner::Int4multiRange => "int4multirange",
942 Inner::NummultiRange => "nummultirange",
943 Inner::TsmultiRange => "tsmultirange",
944 Inner::TstzmultiRange => "tstzmultirange",
945 Inner::DatemultiRange => "datemultirange",
946 Inner::Int8multiRange => "int8multirange",
947 Inner::AnymultiRange => "anymultirange",
948 Inner::AnycompatiblemultiRange => "anycompatiblemultirange",
949 Inner::PgBrinBloomSummary => "pg_brin_bloom_summary",
950 Inner::PgBrinMinmaxMultiSummary => "pg_brin_minmax_multi_summary",
951 Inner::PgMcvList => "pg_mcv_list",
952 Inner::PgSnapshot => "pg_snapshot",
953 Inner::PgSnapshotArray => "_pg_snapshot",
954 Inner::Xid8 => "xid8",
955 Inner::Anycompatible => "anycompatible",
956 Inner::Anycompatiblearray => "anycompatiblearray",
957 Inner::Anycompatiblenonarray => "anycompatiblenonarray",
958 Inner::AnycompatibleRange => "anycompatiblerange",
959 Inner::Int4multiRangeArray => "_int4multirange",
960 Inner::NummultiRangeArray => "_nummultirange",
961 Inner::TsmultiRangeArray => "_tsmultirange",
962 Inner::TstzmultiRangeArray => "_tstzmultirange",
963 Inner::DatemultiRangeArray => "_datemultirange",
964 Inner::Int8multiRangeArray => "_int8multirange",
965 Inner::Other(ref u) => &u.name,
966 }
967 }
968}
969impl Type {
970 pub const BOOL: Type = Type(Inner::Bool);
972
973 pub const BYTEA: Type = Type(Inner::Bytea);
975
976 pub const CHAR: Type = Type(Inner::Char);
978
979 pub const NAME: Type = Type(Inner::Name);
981
982 pub const INT8: Type = Type(Inner::Int8);
984
985 pub const INT2: Type = Type(Inner::Int2);
987
988 pub const INT2_VECTOR: Type = Type(Inner::Int2Vector);
990
991 pub const INT4: Type = Type(Inner::Int4);
993
994 pub const REGPROC: Type = Type(Inner::Regproc);
996
997 pub const TEXT: Type = Type(Inner::Text);
999
1000 pub const OID: Type = Type(Inner::Oid);
1002
1003 pub const TID: Type = Type(Inner::Tid);
1005
1006 pub const XID: Type = Type(Inner::Xid);
1008
1009 pub const CID: Type = Type(Inner::Cid);
1011
1012 pub const OID_VECTOR: Type = Type(Inner::OidVector);
1014
1015 pub const PG_DDL_COMMAND: Type = Type(Inner::PgDdlCommand);
1017
1018 pub const JSON: Type = Type(Inner::Json);
1020
1021 pub const XML: Type = Type(Inner::Xml);
1023
1024 pub const XML_ARRAY: Type = Type(Inner::XmlArray);
1026
1027 pub const PG_NODE_TREE: Type = Type(Inner::PgNodeTree);
1029
1030 pub const JSON_ARRAY: Type = Type(Inner::JsonArray);
1032
1033 pub const TABLE_AM_HANDLER: Type = Type(Inner::TableAmHandler);
1035
1036 pub const XID8_ARRAY: Type = Type(Inner::Xid8Array);
1038
1039 pub const INDEX_AM_HANDLER: Type = Type(Inner::IndexAmHandler);
1041
1042 pub const POINT: Type = Type(Inner::Point);
1044
1045 pub const LSEG: Type = Type(Inner::Lseg);
1047
1048 pub const PATH: Type = Type(Inner::Path);
1050
1051 pub const BOX: Type = Type(Inner::Box);
1053
1054 pub const POLYGON: Type = Type(Inner::Polygon);
1056
1057 pub const LINE: Type = Type(Inner::Line);
1059
1060 pub const LINE_ARRAY: Type = Type(Inner::LineArray);
1062
1063 pub const CIDR: Type = Type(Inner::Cidr);
1065
1066 pub const CIDR_ARRAY: Type = Type(Inner::CidrArray);
1068
1069 pub const FLOAT4: Type = Type(Inner::Float4);
1071
1072 pub const FLOAT8: Type = Type(Inner::Float8);
1074
1075 pub const UNKNOWN: Type = Type(Inner::Unknown);
1077
1078 pub const CIRCLE: Type = Type(Inner::Circle);
1080
1081 pub const CIRCLE_ARRAY: Type = Type(Inner::CircleArray);
1083
1084 pub const MACADDR8: Type = Type(Inner::Macaddr8);
1086
1087 pub const MACADDR8_ARRAY: Type = Type(Inner::Macaddr8Array);
1089
1090 pub const MONEY: Type = Type(Inner::Money);
1092
1093 pub const MONEY_ARRAY: Type = Type(Inner::MoneyArray);
1095
1096 pub const MACADDR: Type = Type(Inner::Macaddr);
1098
1099 pub const INET: Type = Type(Inner::Inet);
1101
1102 pub const BOOL_ARRAY: Type = Type(Inner::BoolArray);
1104
1105 pub const BYTEA_ARRAY: Type = Type(Inner::ByteaArray);
1107
1108 pub const CHAR_ARRAY: Type = Type(Inner::CharArray);
1110
1111 pub const NAME_ARRAY: Type = Type(Inner::NameArray);
1113
1114 pub const INT2_ARRAY: Type = Type(Inner::Int2Array);
1116
1117 pub const INT2_VECTOR_ARRAY: Type = Type(Inner::Int2VectorArray);
1119
1120 pub const INT4_ARRAY: Type = Type(Inner::Int4Array);
1122
1123 pub const REGPROC_ARRAY: Type = Type(Inner::RegprocArray);
1125
1126 pub const TEXT_ARRAY: Type = Type(Inner::TextArray);
1128
1129 pub const TID_ARRAY: Type = Type(Inner::TidArray);
1131
1132 pub const XID_ARRAY: Type = Type(Inner::XidArray);
1134
1135 pub const CID_ARRAY: Type = Type(Inner::CidArray);
1137
1138 pub const OID_VECTOR_ARRAY: Type = Type(Inner::OidVectorArray);
1140
1141 pub const BPCHAR_ARRAY: Type = Type(Inner::BpcharArray);
1143
1144 pub const VARCHAR_ARRAY: Type = Type(Inner::VarcharArray);
1146
1147 pub const INT8_ARRAY: Type = Type(Inner::Int8Array);
1149
1150 pub const POINT_ARRAY: Type = Type(Inner::PointArray);
1152
1153 pub const LSEG_ARRAY: Type = Type(Inner::LsegArray);
1155
1156 pub const PATH_ARRAY: Type = Type(Inner::PathArray);
1158
1159 pub const BOX_ARRAY: Type = Type(Inner::BoxArray);
1161
1162 pub const FLOAT4_ARRAY: Type = Type(Inner::Float4Array);
1164
1165 pub const FLOAT8_ARRAY: Type = Type(Inner::Float8Array);
1167
1168 pub const POLYGON_ARRAY: Type = Type(Inner::PolygonArray);
1170
1171 pub const OID_ARRAY: Type = Type(Inner::OidArray);
1173
1174 pub const ACLITEM: Type = Type(Inner::Aclitem);
1176
1177 pub const ACLITEM_ARRAY: Type = Type(Inner::AclitemArray);
1179
1180 pub const MACADDR_ARRAY: Type = Type(Inner::MacaddrArray);
1182
1183 pub const INET_ARRAY: Type = Type(Inner::InetArray);
1185
1186 pub const BPCHAR: Type = Type(Inner::Bpchar);
1188
1189 pub const VARCHAR: Type = Type(Inner::Varchar);
1191
1192 pub const DATE: Type = Type(Inner::Date);
1194
1195 pub const TIME: Type = Type(Inner::Time);
1197
1198 pub const TIMESTAMP: Type = Type(Inner::Timestamp);
1200
1201 pub const TIMESTAMP_ARRAY: Type = Type(Inner::TimestampArray);
1203
1204 pub const DATE_ARRAY: Type = Type(Inner::DateArray);
1206
1207 pub const TIME_ARRAY: Type = Type(Inner::TimeArray);
1209
1210 pub const TIMESTAMPTZ: Type = Type(Inner::Timestamptz);
1212
1213 pub const TIMESTAMPTZ_ARRAY: Type = Type(Inner::TimestamptzArray);
1215
1216 pub const INTERVAL: Type = Type(Inner::Interval);
1218
1219 pub const INTERVAL_ARRAY: Type = Type(Inner::IntervalArray);
1221
1222 pub const NUMERIC_ARRAY: Type = Type(Inner::NumericArray);
1224
1225 pub const CSTRING_ARRAY: Type = Type(Inner::CstringArray);
1227
1228 pub const TIMETZ: Type = Type(Inner::Timetz);
1230
1231 pub const TIMETZ_ARRAY: Type = Type(Inner::TimetzArray);
1233
1234 pub const BIT: Type = Type(Inner::Bit);
1236
1237 pub const BIT_ARRAY: Type = Type(Inner::BitArray);
1239
1240 pub const VARBIT: Type = Type(Inner::Varbit);
1242
1243 pub const VARBIT_ARRAY: Type = Type(Inner::VarbitArray);
1245
1246 pub const NUMERIC: Type = Type(Inner::Numeric);
1248
1249 pub const REFCURSOR: Type = Type(Inner::Refcursor);
1251
1252 pub const REFCURSOR_ARRAY: Type = Type(Inner::RefcursorArray);
1254
1255 pub const REGPROCEDURE: Type = Type(Inner::Regprocedure);
1257
1258 pub const REGOPER: Type = Type(Inner::Regoper);
1260
1261 pub const REGOPERATOR: Type = Type(Inner::Regoperator);
1263
1264 pub const REGCLASS: Type = Type(Inner::Regclass);
1266
1267 pub const REGTYPE: Type = Type(Inner::Regtype);
1269
1270 pub const REGPROCEDURE_ARRAY: Type = Type(Inner::RegprocedureArray);
1272
1273 pub const REGOPER_ARRAY: Type = Type(Inner::RegoperArray);
1275
1276 pub const REGOPERATOR_ARRAY: Type = Type(Inner::RegoperatorArray);
1278
1279 pub const REGCLASS_ARRAY: Type = Type(Inner::RegclassArray);
1281
1282 pub const REGTYPE_ARRAY: Type = Type(Inner::RegtypeArray);
1284
1285 pub const RECORD: Type = Type(Inner::Record);
1287
1288 pub const CSTRING: Type = Type(Inner::Cstring);
1290
1291 pub const ANY: Type = Type(Inner::Any);
1293
1294 pub const ANYARRAY: Type = Type(Inner::Anyarray);
1296
1297 pub const VOID: Type = Type(Inner::Void);
1299
1300 pub const TRIGGER: Type = Type(Inner::Trigger);
1302
1303 pub const LANGUAGE_HANDLER: Type = Type(Inner::LanguageHandler);
1305
1306 pub const INTERNAL: Type = Type(Inner::Internal);
1308
1309 pub const ANYELEMENT: Type = Type(Inner::Anyelement);
1311
1312 pub const RECORD_ARRAY: Type = Type(Inner::RecordArray);
1314
1315 pub const ANYNONARRAY: Type = Type(Inner::Anynonarray);
1317
1318 pub const TXID_SNAPSHOT_ARRAY: Type = Type(Inner::TxidSnapshotArray);
1320
1321 pub const UUID: Type = Type(Inner::Uuid);
1323
1324 pub const UUID_ARRAY: Type = Type(Inner::UuidArray);
1326
1327 pub const TXID_SNAPSHOT: Type = Type(Inner::TxidSnapshot);
1329
1330 pub const FDW_HANDLER: Type = Type(Inner::FdwHandler);
1332
1333 pub const PG_LSN: Type = Type(Inner::PgLsn);
1335
1336 pub const PG_LSN_ARRAY: Type = Type(Inner::PgLsnArray);
1338
1339 pub const TSM_HANDLER: Type = Type(Inner::TsmHandler);
1341
1342 pub const PG_NDISTINCT: Type = Type(Inner::PgNdistinct);
1344
1345 pub const PG_DEPENDENCIES: Type = Type(Inner::PgDependencies);
1347
1348 pub const ANYENUM: Type = Type(Inner::Anyenum);
1350
1351 pub const TS_VECTOR: Type = Type(Inner::TsVector);
1353
1354 pub const TSQUERY: Type = Type(Inner::Tsquery);
1356
1357 pub const GTS_VECTOR: Type = Type(Inner::GtsVector);
1359
1360 pub const TS_VECTOR_ARRAY: Type = Type(Inner::TsVectorArray);
1362
1363 pub const GTS_VECTOR_ARRAY: Type = Type(Inner::GtsVectorArray);
1365
1366 pub const TSQUERY_ARRAY: Type = Type(Inner::TsqueryArray);
1368
1369 pub const REGCONFIG: Type = Type(Inner::Regconfig);
1371
1372 pub const REGCONFIG_ARRAY: Type = Type(Inner::RegconfigArray);
1374
1375 pub const REGDICTIONARY: Type = Type(Inner::Regdictionary);
1377
1378 pub const REGDICTIONARY_ARRAY: Type = Type(Inner::RegdictionaryArray);
1380
1381 pub const JSONB: Type = Type(Inner::Jsonb);
1383
1384 pub const JSONB_ARRAY: Type = Type(Inner::JsonbArray);
1386
1387 pub const ANY_RANGE: Type = Type(Inner::AnyRange);
1389
1390 pub const EVENT_TRIGGER: Type = Type(Inner::EventTrigger);
1392
1393 pub const INT4_RANGE: Type = Type(Inner::Int4Range);
1395
1396 pub const INT4_RANGE_ARRAY: Type = Type(Inner::Int4RangeArray);
1398
1399 pub const NUM_RANGE: Type = Type(Inner::NumRange);
1401
1402 pub const NUM_RANGE_ARRAY: Type = Type(Inner::NumRangeArray);
1404
1405 pub const TS_RANGE: Type = Type(Inner::TsRange);
1407
1408 pub const TS_RANGE_ARRAY: Type = Type(Inner::TsRangeArray);
1410
1411 pub const TSTZ_RANGE: Type = Type(Inner::TstzRange);
1413
1414 pub const TSTZ_RANGE_ARRAY: Type = Type(Inner::TstzRangeArray);
1416
1417 pub const DATE_RANGE: Type = Type(Inner::DateRange);
1419
1420 pub const DATE_RANGE_ARRAY: Type = Type(Inner::DateRangeArray);
1422
1423 pub const INT8_RANGE: Type = Type(Inner::Int8Range);
1425
1426 pub const INT8_RANGE_ARRAY: Type = Type(Inner::Int8RangeArray);
1428
1429 pub const JSONPATH: Type = Type(Inner::Jsonpath);
1431
1432 pub const JSONPATH_ARRAY: Type = Type(Inner::JsonpathArray);
1434
1435 pub const REGNAMESPACE: Type = Type(Inner::Regnamespace);
1437
1438 pub const REGNAMESPACE_ARRAY: Type = Type(Inner::RegnamespaceArray);
1440
1441 pub const REGROLE: Type = Type(Inner::Regrole);
1443
1444 pub const REGROLE_ARRAY: Type = Type(Inner::RegroleArray);
1446
1447 pub const REGCOLLATION: Type = Type(Inner::Regcollation);
1449
1450 pub const REGCOLLATION_ARRAY: Type = Type(Inner::RegcollationArray);
1452
1453 pub const INT4MULTI_RANGE: Type = Type(Inner::Int4multiRange);
1455
1456 pub const NUMMULTI_RANGE: Type = Type(Inner::NummultiRange);
1458
1459 pub const TSMULTI_RANGE: Type = Type(Inner::TsmultiRange);
1461
1462 pub const TSTZMULTI_RANGE: Type = Type(Inner::TstzmultiRange);
1464
1465 pub const DATEMULTI_RANGE: Type = Type(Inner::DatemultiRange);
1467
1468 pub const INT8MULTI_RANGE: Type = Type(Inner::Int8multiRange);
1470
1471 pub const ANYMULTI_RANGE: Type = Type(Inner::AnymultiRange);
1473
1474 pub const ANYCOMPATIBLEMULTI_RANGE: Type = Type(Inner::AnycompatiblemultiRange);
1476
1477 pub const PG_BRIN_BLOOM_SUMMARY: Type = Type(Inner::PgBrinBloomSummary);
1479
1480 pub const PG_BRIN_MINMAX_MULTI_SUMMARY: Type = Type(Inner::PgBrinMinmaxMultiSummary);
1482
1483 pub const PG_MCV_LIST: Type = Type(Inner::PgMcvList);
1485
1486 pub const PG_SNAPSHOT: Type = Type(Inner::PgSnapshot);
1488
1489 pub const PG_SNAPSHOT_ARRAY: Type = Type(Inner::PgSnapshotArray);
1491
1492 pub const XID8: Type = Type(Inner::Xid8);
1494
1495 pub const ANYCOMPATIBLE: Type = Type(Inner::Anycompatible);
1497
1498 pub const ANYCOMPATIBLEARRAY: Type = Type(Inner::Anycompatiblearray);
1500
1501 pub const ANYCOMPATIBLENONARRAY: Type = Type(Inner::Anycompatiblenonarray);
1503
1504 pub const ANYCOMPATIBLE_RANGE: Type = Type(Inner::AnycompatibleRange);
1506
1507 pub const INT4MULTI_RANGE_ARRAY: Type = Type(Inner::Int4multiRangeArray);
1509
1510 pub const NUMMULTI_RANGE_ARRAY: Type = Type(Inner::NummultiRangeArray);
1512
1513 pub const TSMULTI_RANGE_ARRAY: Type = Type(Inner::TsmultiRangeArray);
1515
1516 pub const TSTZMULTI_RANGE_ARRAY: Type = Type(Inner::TstzmultiRangeArray);
1518
1519 pub const DATEMULTI_RANGE_ARRAY: Type = Type(Inner::DatemultiRangeArray);
1521
1522 pub const INT8MULTI_RANGE_ARRAY: Type = Type(Inner::Int8multiRangeArray);
1524}