/*------------------------------------------------------------------------- * * pg_type_d.h * Macro definitions for pg_type * * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES * ****************************** * *** DO NOT EDIT THIS FILE! *** * ****************************** * * It has been GENERATED by src/backend/catalog/genbki.pl * *------------------------------------------------------------------------- */ #ifndef PG_TYPE_D_H #define PG_TYPE_D_H #define TypeRelationId 1247 #define TypeRelation_Rowtype_Id 71 #define Anum_pg_type_oid 1 #define Anum_pg_type_typname 2 #define Anum_pg_type_typnamespace 3 #define Anum_pg_type_typowner 4 #define Anum_pg_type_typlen 5 #define Anum_pg_type_typbyval 6 #define Anum_pg_type_typtype 7 #define Anum_pg_type_typcategory 8 #define Anum_pg_type_typispreferred 9 #define Anum_pg_type_typisdefined 10 #define Anum_pg_type_typdelim 11 #define Anum_pg_type_typrelid 12 #define Anum_pg_type_typsubscript 13 #define Anum_pg_type_typelem 14 #define Anum_pg_type_typarray 15 #define Anum_pg_type_typinput 16 #define Anum_pg_type_typoutput 17 #define Anum_pg_type_typreceive 18 #define Anum_pg_type_typsend 19 #define Anum_pg_type_typmodin 20 #define Anum_pg_type_typmodout 21 #define Anum_pg_type_typanalyze 22 #define Anum_pg_type_typalign 23 #define Anum_pg_type_typstorage 24 #define Anum_pg_type_typnotnull 25 #define Anum_pg_type_typbasetype 26 #define Anum_pg_type_typtypmod 27 #define Anum_pg_type_typndims 28 #define Anum_pg_type_typcollation 29 #define Anum_pg_type_typdefaultbin 30 #define Anum_pg_type_typdefault 31 #define Anum_pg_type_typacl 32 #define Natts_pg_type 32 /* * macros for values of poor-mans-enumerated-type columns */ #define TYPTYPE_BASE 'b' /* base type (ordinary scalar type) */ #define TYPTYPE_COMPOSITE 'c' /* composite (e.g., table's rowtype) */ #define TYPTYPE_DOMAIN 'd' /* domain over another type */ #define TYPTYPE_ENUM 'e' /* enumerated type */ #define TYPTYPE_MULTIRANGE 'm' /* multirange type */ #define TYPTYPE_PSEUDO 'p' /* pseudo-type */ #define TYPTYPE_RANGE 'r' /* range type */ #define TYPCATEGORY_INVALID '\0' /* not an allowed category */ #define TYPCATEGORY_ARRAY 'A' #define TYPCATEGORY_BOOLEAN 'B' #define TYPCATEGORY_COMPOSITE 'C' #define TYPCATEGORY_DATETIME 'D' #define TYPCATEGORY_ENUM 'E' #define TYPCATEGORY_GEOMETRIC 'G' #define TYPCATEGORY_NETWORK 'I' /* think INET */ #define TYPCATEGORY_NUMERIC 'N' #define TYPCATEGORY_PSEUDOTYPE 'P' #define TYPCATEGORY_RANGE 'R' #define TYPCATEGORY_STRING 'S' #define TYPCATEGORY_TIMESPAN 'T' #define TYPCATEGORY_USER 'U' #define TYPCATEGORY_BITSTRING 'V' /* er ... "varbit"? */ #define TYPCATEGORY_UNKNOWN 'X' #define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */ #define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */ #define TYPALIGN_INT 'i' /* int alignment (typically 4 bytes) */ #define TYPALIGN_DOUBLE 'd' /* double alignment (often 8 bytes) */ #define TYPSTORAGE_PLAIN 'p' /* type not prepared for toasting */ #define TYPSTORAGE_EXTERNAL 'e' /* toastable, don't try to compress */ #define TYPSTORAGE_EXTENDED 'x' /* fully toastable */ #define TYPSTORAGE_MAIN 'm' /* like 'x' but try to store inline */ /* Is a type OID a polymorphic pseudotype? (Beware of multiple evaluation) */ #define IsPolymorphicType(typid) \ (IsPolymorphicTypeFamily1(typid) || \ IsPolymorphicTypeFamily2(typid)) /* Code not part of polymorphic type resolution should not use these macros: */ #define IsPolymorphicTypeFamily1(typid) \ ((typid) == ANYELEMENTOID || \ (typid) == ANYARRAYOID || \ (typid) == ANYNONARRAYOID || \ (typid) == ANYENUMOID || \ (typid) == ANYRANGEOID || \ (typid) == ANYMULTIRANGEOID) #define IsPolymorphicTypeFamily2(typid) \ ((typid) == ANYCOMPATIBLEOID || \ (typid) == ANYCOMPATIBLEARRAYOID || \ (typid) == ANYCOMPATIBLENONARRAYOID || \ (typid) == ANYCOMPATIBLERANGEOID || \ (typid) == ANYCOMPATIBLEMULTIRANGEOID) /* Is this a "true" array type? (Requires fmgroids.h) */ #define IsTrueArrayType(typeForm) \ (OidIsValid((typeForm)->typelem) && \ (typeForm)->typsubscript == F_ARRAY_SUBSCRIPT_HANDLER) /* * Backwards compatibility for ancient random spellings of pg_type OID macros. * Don't use these names in new code. */ #define CASHOID MONEYOID #define LSNOID PG_LSNOID #define BOOLOID 16 #define BYTEAOID 17 #define CHAROID 18 #define NAMEOID 19 #define INT8OID 20 #define INT2OID 21 #define INT2VECTOROID 22 #define INT4OID 23 #define REGPROCOID 24 #define TEXTOID 25 #define OIDOID 26 #define TIDOID 27 #define XIDOID 28 #define CIDOID 29 #define OIDVECTOROID 30 #define JSONOID 114 #define XMLOID 142 #define PG_NODE_TREEOID 194 #define PG_NDISTINCTOID 3361 #define PG_DEPENDENCIESOID 3402 #define PG_MCV_LISTOID 5017 #define PG_DDL_COMMANDOID 32 #define XID8OID 5069 #define POINTOID 600 #define LSEGOID 601 #define PATHOID 602 #define BOXOID 603 #define POLYGONOID 604 #define LINEOID 628 #define FLOAT4OID 700 #define FLOAT8OID 701 #define UNKNOWNOID 705 #define CIRCLEOID 718 #define MONEYOID 790 #define MACADDROID 829 #define INETOID 869 #define CIDROID 650 #define MACADDR8OID 774 #define ACLITEMOID 1033 #define BPCHAROID 1042 #define VARCHAROID 1043 #define DATEOID 1082 #define TIMEOID 1083 #define TIMESTAMPOID 1114 #define TIMESTAMPTZOID 1184 #define INTERVALOID 1186 #define TIMETZOID 1266 #define BITOID 1560 #define VARBITOID 1562 #define NUMERICOID 1700 #define REFCURSOROID 1790 #define REGPROCEDUREOID 2202 #define REGOPEROID 2203 #define REGOPERATOROID 2204 #define REGCLASSOID 2205 #define REGCOLLATIONOID 4191 #define REGTYPEOID 2206 #define REGROLEOID 4096 #define REGNAMESPACEOID 4089 #define UUIDOID 2950 #define PG_LSNOID 3220 #define TSVECTOROID 3614 #define GTSVECTOROID 3642 #define TSQUERYOID 3615 #define REGCONFIGOID 3734 #define REGDICTIONARYOID 3769 #define JSONBOID 3802 #define JSONPATHOID 4072 #define TXID_SNAPSHOTOID 2970 #define PG_SNAPSHOTOID 5038 #define INT4RANGEOID 3904 #define NUMRANGEOID 3906 #define TSRANGEOID 3908 #define TSTZRANGEOID 3910 #define DATERANGEOID 3912 #define INT8RANGEOID 3926 #define INT4MULTIRANGEOID 4451 #define NUMMULTIRANGEOID 4532 #define TSMULTIRANGEOID 4533 #define TSTZMULTIRANGEOID 4534 #define DATEMULTIRANGEOID 4535 #define INT8MULTIRANGEOID 4536 #define RECORDOID 2249 #define RECORDARRAYOID 2287 #define CSTRINGOID 2275 #define ANYOID 2276 #define ANYARRAYOID 2277 #define VOIDOID 2278 #define TRIGGEROID 2279 #define EVENT_TRIGGEROID 3838 #define LANGUAGE_HANDLEROID 2280 #define INTERNALOID 2281 #define ANYELEMENTOID 2283 #define ANYNONARRAYOID 2776 #define ANYENUMOID 3500 #define FDW_HANDLEROID 3115 #define INDEX_AM_HANDLEROID 325 #define TSM_HANDLEROID 3310 #define TABLE_AM_HANDLEROID 269 #define ANYRANGEOID 3831 #define ANYCOMPATIBLEOID 5077 #define ANYCOMPATIBLEARRAYOID 5078 #define ANYCOMPATIBLENONARRAYOID 5079 #define ANYCOMPATIBLERANGEOID 5080 #define ANYMULTIRANGEOID 4537 #define ANYCOMPATIBLEMULTIRANGEOID 4538 #define PG_BRIN_BLOOM_SUMMARYOID 4600 #define PG_BRIN_MINMAX_MULTI_SUMMARYOID 4601 #define BOOLARRAYOID 1000 #define BYTEAARRAYOID 1001 #define CHARARRAYOID 1002 #define NAMEARRAYOID 1003 #define INT8ARRAYOID 1016 #define INT2ARRAYOID 1005 #define INT2VECTORARRAYOID 1006 #define INT4ARRAYOID 1007 #define REGPROCARRAYOID 1008 #define TEXTARRAYOID 1009 #define OIDARRAYOID 1028 #define TIDARRAYOID 1010 #define XIDARRAYOID 1011 #define CIDARRAYOID 1012 #define OIDVECTORARRAYOID 1013 #define PG_TYPEARRAYOID 210 #define PG_ATTRIBUTEARRAYOID 270 #define PG_PROCARRAYOID 272 #define PG_CLASSARRAYOID 273 #define JSONARRAYOID 199 #define XMLARRAYOID 143 #define XID8ARRAYOID 271 #define POINTARRAYOID 1017 #define LSEGARRAYOID 1018 #define PATHARRAYOID 1019 #define BOXARRAYOID 1020 #define POLYGONARRAYOID 1027 #define LINEARRAYOID 629 #define FLOAT4ARRAYOID 1021 #define FLOAT8ARRAYOID 1022 #define CIRCLEARRAYOID 719 #define MONEYARRAYOID 791 #define MACADDRARRAYOID 1040 #define INETARRAYOID 1041 #define CIDRARRAYOID 651 #define MACADDR8ARRAYOID 775 #define ACLITEMARRAYOID 1034 #define BPCHARARRAYOID 1014 #define VARCHARARRAYOID 1015 #define DATEARRAYOID 1182 #define TIMEARRAYOID 1183 #define TIMESTAMPARRAYOID 1115 #define TIMESTAMPTZARRAYOID 1185 #define INTERVALARRAYOID 1187 #define TIMETZARRAYOID 1270 #define BITARRAYOID 1561 #define VARBITARRAYOID 1563 #define NUMERICARRAYOID 1231 #define REFCURSORARRAYOID 2201 #define REGPROCEDUREARRAYOID 2207 #define REGOPERARRAYOID 2208 #define REGOPERATORARRAYOID 2209 #define REGCLASSARRAYOID 2210 #define REGCOLLATIONARRAYOID 4192 #define REGTYPEARRAYOID 2211 #define REGROLEARRAYOID 4097 #define REGNAMESPACEARRAYOID 4090 #define UUIDARRAYOID 2951 #define PG_LSNARRAYOID 3221 #define TSVECTORARRAYOID 3643 #define GTSVECTORARRAYOID 3644 #define TSQUERYARRAYOID 3645 #define REGCONFIGARRAYOID 3735 #define REGDICTIONARYARRAYOID 3770 #define JSONBARRAYOID 3807 #define JSONPATHARRAYOID 4073 #define TXID_SNAPSHOTARRAYOID 2949 #define PG_SNAPSHOTARRAYOID 5039 #define INT4RANGEARRAYOID 3905 #define NUMRANGEARRAYOID 3907 #define TSRANGEARRAYOID 3909 #define TSTZRANGEARRAYOID 3911 #define DATERANGEARRAYOID 3913 #define INT8RANGEARRAYOID 3927 #define INT4MULTIRANGEARRAYOID 6150 #define NUMMULTIRANGEARRAYOID 6151 #define TSMULTIRANGEARRAYOID 6152 #define TSTZMULTIRANGEARRAYOID 6153 #define DATEMULTIRANGEARRAYOID 6155 #define INT8MULTIRANGEARRAYOID 6157 #define CSTRINGARRAYOID 1263 #endif /* PG_TYPE_D_H */