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