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