1 /*-------------------------------------------------------------------------
2  *
3  * pg_type_d.h
4  *    Macro definitions for pg_type
5  *
6  * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * NOTES
10  *  ******************************
11  *  *** DO NOT EDIT THIS FILE! ***
12  *  ******************************
13  *
14  *  It has been GENERATED by src/backend/catalog/genbki.pl
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_TYPE_D_H
19 #define PG_TYPE_D_H
20 
21 #define TypeRelationId 1247
22 #define TypeRelation_Rowtype_Id 71
23 
24 #define Anum_pg_type_oid 1
25 #define Anum_pg_type_typname 2
26 #define Anum_pg_type_typnamespace 3
27 #define Anum_pg_type_typowner 4
28 #define Anum_pg_type_typlen 5
29 #define Anum_pg_type_typbyval 6
30 #define Anum_pg_type_typtype 7
31 #define Anum_pg_type_typcategory 8
32 #define Anum_pg_type_typispreferred 9
33 #define Anum_pg_type_typisdefined 10
34 #define Anum_pg_type_typdelim 11
35 #define Anum_pg_type_typrelid 12
36 #define Anum_pg_type_typelem 13
37 #define Anum_pg_type_typarray 14
38 #define Anum_pg_type_typinput 15
39 #define Anum_pg_type_typoutput 16
40 #define Anum_pg_type_typreceive 17
41 #define Anum_pg_type_typsend 18
42 #define Anum_pg_type_typmodin 19
43 #define Anum_pg_type_typmodout 20
44 #define Anum_pg_type_typanalyze 21
45 #define Anum_pg_type_typalign 22
46 #define Anum_pg_type_typstorage 23
47 #define Anum_pg_type_typnotnull 24
48 #define Anum_pg_type_typbasetype 25
49 #define Anum_pg_type_typtypmod 26
50 #define Anum_pg_type_typndims 27
51 #define Anum_pg_type_typcollation 28
52 #define Anum_pg_type_typdefaultbin 29
53 #define Anum_pg_type_typdefault 30
54 #define Anum_pg_type_typacl 31
55 
56 #define Natts_pg_type 31
57 
58 
59 /*
60  * macros for values of poor-mans-enumerated-type columns
61  */
62 #define  TYPTYPE_BASE		'b' /* base type (ordinary scalar type) */
63 #define  TYPTYPE_COMPOSITE	'c' /* composite (e.g., table's rowtype) */
64 #define  TYPTYPE_DOMAIN		'd' /* domain over another type */
65 #define  TYPTYPE_ENUM		'e' /* enumerated type */
66 #define  TYPTYPE_PSEUDO		'p' /* pseudo-type */
67 #define  TYPTYPE_RANGE		'r' /* range type */
68 
69 #define  TYPCATEGORY_INVALID	'\0'	/* not an allowed category */
70 #define  TYPCATEGORY_ARRAY		'A'
71 #define  TYPCATEGORY_BOOLEAN	'B'
72 #define  TYPCATEGORY_COMPOSITE	'C'
73 #define  TYPCATEGORY_DATETIME	'D'
74 #define  TYPCATEGORY_ENUM		'E'
75 #define  TYPCATEGORY_GEOMETRIC	'G'
76 #define  TYPCATEGORY_NETWORK	'I' /* think INET */
77 #define  TYPCATEGORY_NUMERIC	'N'
78 #define  TYPCATEGORY_PSEUDOTYPE 'P'
79 #define  TYPCATEGORY_RANGE		'R'
80 #define  TYPCATEGORY_STRING		'S'
81 #define  TYPCATEGORY_TIMESPAN	'T'
82 #define  TYPCATEGORY_USER		'U'
83 #define  TYPCATEGORY_BITSTRING	'V' /* er ... "varbit"? */
84 #define  TYPCATEGORY_UNKNOWN	'X'
85 
86 #define  TYPALIGN_CHAR			'c' /* char alignment (i.e. unaligned) */
87 #define  TYPALIGN_SHORT			's' /* short alignment (typically 2 bytes) */
88 #define  TYPALIGN_INT			'i' /* int alignment (typically 4 bytes) */
89 #define  TYPALIGN_DOUBLE		'd' /* double alignment (often 8 bytes) */
90 
91 #define  TYPSTORAGE_PLAIN		'p' /* type not prepared for toasting */
92 #define  TYPSTORAGE_EXTERNAL	'e' /* toastable, don't try to compress */
93 #define  TYPSTORAGE_EXTENDED	'x' /* fully toastable */
94 #define  TYPSTORAGE_MAIN		'm' /* like 'x' but try to store inline */
95 
96 /* Is a type OID a polymorphic pseudotype?	(Beware of multiple evaluation) */
97 #define IsPolymorphicType(typid)  \
98 	(IsPolymorphicTypeFamily1(typid) || \
99 	 IsPolymorphicTypeFamily2(typid))
100 
101 /* Code not part of polymorphic type resolution should not use these macros: */
102 #define IsPolymorphicTypeFamily1(typid)  \
103 	((typid) == ANYELEMENTOID || \
104 	 (typid) == ANYARRAYOID || \
105 	 (typid) == ANYNONARRAYOID || \
106 	 (typid) == ANYENUMOID || \
107 	 (typid) == ANYRANGEOID)
108 
109 #define IsPolymorphicTypeFamily2(typid)  \
110 	((typid) == ANYCOMPATIBLEOID || \
111 	 (typid) == ANYCOMPATIBLEARRAYOID || \
112 	 (typid) == ANYCOMPATIBLENONARRAYOID || \
113 	 (typid) == ANYCOMPATIBLERANGEOID)
114 
115 #define BOOLOID 16
116 #define BYTEAOID 17
117 #define CHAROID 18
118 #define NAMEOID 19
119 #define INT8OID 20
120 #define INT2OID 21
121 #define INT2VECTOROID 22
122 #define INT4OID 23
123 #define REGPROCOID 24
124 #define TEXTOID 25
125 #define OIDOID 26
126 #define TIDOID 27
127 #define XIDOID 28
128 #define CIDOID 29
129 #define OIDVECTOROID 30
130 #define JSONOID 114
131 #define XMLOID 142
132 #define PGNODETREEOID 194
133 #define PGNDISTINCTOID 3361
134 #define PGDEPENDENCIESOID 3402
135 #define PGMCVLISTOID 5017
136 #define PGDDLCOMMANDOID 32
137 #define XID8OID 5069
138 #define POINTOID 600
139 #define LSEGOID 601
140 #define PATHOID 602
141 #define BOXOID 603
142 #define POLYGONOID 604
143 #define LINEOID 628
144 #define FLOAT4OID 700
145 #define FLOAT8OID 701
146 #define UNKNOWNOID 705
147 #define CIRCLEOID 718
148 #define CASHOID 790
149 #define MACADDROID 829
150 #define INETOID 869
151 #define CIDROID 650
152 #define MACADDR8OID 774
153 #define ACLITEMOID 1033
154 #define BPCHAROID 1042
155 #define VARCHAROID 1043
156 #define DATEOID 1082
157 #define TIMEOID 1083
158 #define TIMESTAMPOID 1114
159 #define TIMESTAMPTZOID 1184
160 #define INTERVALOID 1186
161 #define TIMETZOID 1266
162 #define BITOID 1560
163 #define VARBITOID 1562
164 #define NUMERICOID 1700
165 #define REFCURSOROID 1790
166 #define REGPROCEDUREOID 2202
167 #define REGOPEROID 2203
168 #define REGOPERATOROID 2204
169 #define REGCLASSOID 2205
170 #define REGCOLLATIONOID 4191
171 #define REGTYPEOID 2206
172 #define REGROLEOID 4096
173 #define REGNAMESPACEOID 4089
174 #define UUIDOID 2950
175 #define LSNOID 3220
176 #define TSVECTOROID 3614
177 #define GTSVECTOROID 3642
178 #define TSQUERYOID 3615
179 #define REGCONFIGOID 3734
180 #define REGDICTIONARYOID 3769
181 #define JSONBOID 3802
182 #define JSONPATHOID 4072
183 #define TXID_SNAPSHOTOID 2970
184 #define PG_SNAPSHOTOID 5038
185 #define INT4RANGEOID 3904
186 #define NUMRANGEOID 3906
187 #define TSRANGEOID 3908
188 #define TSTZRANGEOID 3910
189 #define DATERANGEOID 3912
190 #define INT8RANGEOID 3926
191 #define RECORDOID 2249
192 #define RECORDARRAYOID 2287
193 #define CSTRINGOID 2275
194 #define ANYOID 2276
195 #define ANYARRAYOID 2277
196 #define VOIDOID 2278
197 #define TRIGGEROID 2279
198 #define EVTTRIGGEROID 3838
199 #define LANGUAGE_HANDLEROID 2280
200 #define INTERNALOID 2281
201 #define ANYELEMENTOID 2283
202 #define ANYNONARRAYOID 2776
203 #define ANYENUMOID 3500
204 #define FDW_HANDLEROID 3115
205 #define INDEX_AM_HANDLEROID 325
206 #define TSM_HANDLEROID 3310
207 #define TABLE_AM_HANDLEROID 269
208 #define ANYRANGEOID 3831
209 #define ANYCOMPATIBLEOID 5077
210 #define ANYCOMPATIBLEARRAYOID 5078
211 #define ANYCOMPATIBLENONARRAYOID 5079
212 #define ANYCOMPATIBLERANGEOID 5080
213 #define BOOLARRAYOID 1000
214 #define BYTEAARRAYOID 1001
215 #define CHARARRAYOID 1002
216 #define NAMEARRAYOID 1003
217 #define INT8ARRAYOID 1016
218 #define INT2ARRAYOID 1005
219 #define INT2VECTORARRAYOID 1006
220 #define INT4ARRAYOID 1007
221 #define REGPROCARRAYOID 1008
222 #define TEXTARRAYOID 1009
223 #define OIDARRAYOID 1028
224 #define TIDARRAYOID 1010
225 #define XIDARRAYOID 1011
226 #define CIDARRAYOID 1012
227 #define OIDVECTORARRAYOID 1013
228 #define JSONARRAYOID 199
229 #define XMLARRAYOID 143
230 #define XID8ARRAYOID 271
231 #define POINTARRAYOID 1017
232 #define LSEGARRAYOID 1018
233 #define PATHARRAYOID 1019
234 #define BOXARRAYOID 1020
235 #define POLYGONARRAYOID 1027
236 #define LINEARRAYOID 629
237 #define FLOAT4ARRAYOID 1021
238 #define FLOAT8ARRAYOID 1022
239 #define CIRCLEARRAYOID 719
240 #define MONEYARRAYOID 791
241 #define MACADDRARRAYOID 1040
242 #define INETARRAYOID 1041
243 #define CIDRARRAYOID 651
244 #define MACADDR8ARRAYOID 775
245 #define ACLITEMARRAYOID 1034
246 #define BPCHARARRAYOID 1014
247 #define VARCHARARRAYOID 1015
248 #define DATEARRAYOID 1182
249 #define TIMEARRAYOID 1183
250 #define TIMESTAMPARRAYOID 1115
251 #define TIMESTAMPTZARRAYOID 1185
252 #define INTERVALARRAYOID 1187
253 #define TIMETZARRAYOID 1270
254 #define BITARRAYOID 1561
255 #define VARBITARRAYOID 1563
256 #define NUMERICARRAYOID 1231
257 #define REFCURSORARRAYOID 2201
258 #define REGPROCEDUREARRAYOID 2207
259 #define REGOPERARRAYOID 2208
260 #define REGOPERATORARRAYOID 2209
261 #define REGCLASSARRAYOID 2210
262 #define REGCOLLATIONARRAYOID 4192
263 #define REGTYPEARRAYOID 2211
264 #define REGROLEARRAYOID 4097
265 #define REGNAMESPACEARRAYOID 4090
266 #define UUIDARRAYOID 2951
267 #define PG_LSNARRAYOID 3221
268 #define TSVECTORARRAYOID 3643
269 #define GTSVECTORARRAYOID 3644
270 #define TSQUERYARRAYOID 3645
271 #define REGCONFIGARRAYOID 3735
272 #define REGDICTIONARYARRAYOID 3770
273 #define JSONBARRAYOID 3807
274 #define JSONPATHARRAYOID 4073
275 #define TXID_SNAPSHOTARRAYOID 2949
276 #define PG_SNAPSHOTARRAYOID 5039
277 #define INT4RANGEARRAYOID 3905
278 #define NUMRANGEARRAYOID 3907
279 #define TSRANGEARRAYOID 3909
280 #define TSTZRANGEARRAYOID 3911
281 #define DATERANGEARRAYOID 3913
282 #define INT8RANGEARRAYOID 3927
283 #define CSTRINGARRAYOID 1263
284 
285 #endif							/* PG_TYPE_D_H */
286