123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*-------------------------------------------------------------------------
- *
- * pg_range.h
- * definition of the "range type" system catalog (pg_range)
- *
- *
- * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/catalog/pg_range.h
- *
- * NOTES
- * The Catalog.pm module reads this file and derives schema
- * information.
- *
- *-------------------------------------------------------------------------
- */
- #ifndef PG_RANGE_H
- #define PG_RANGE_H
- #include "catalog/genbki.h"
- #include "catalog/pg_range_d.h"
- /* ----------------
- * pg_range definition. cpp turns this into
- * typedef struct FormData_pg_range
- * ----------------
- */
- CATALOG(pg_range,3541,RangeRelationId)
- {
- /* OID of owning range type */
- Oid rngtypid BKI_LOOKUP(pg_type);
- /* OID of range's element type (subtype) */
- Oid rngsubtype BKI_LOOKUP(pg_type);
- /* OID of the range's multirange type */
- Oid rngmultitypid BKI_LOOKUP(pg_type);
- /* collation for this range type, or 0 */
- Oid rngcollation BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_collation);
- /* subtype's btree opclass */
- Oid rngsubopc BKI_LOOKUP(pg_opclass);
- /* canonicalize range, or 0 */
- regproc rngcanonical BKI_LOOKUP_OPT(pg_proc);
- /* subtype difference as a float8, or 0 */
- regproc rngsubdiff BKI_LOOKUP_OPT(pg_proc);
- } FormData_pg_range;
- /* ----------------
- * Form_pg_range corresponds to a pointer to a tuple with
- * the format of pg_range relation.
- * ----------------
- */
- typedef FormData_pg_range *Form_pg_range;
- DECLARE_UNIQUE_INDEX_PKEY(pg_range_rngtypid_index, 3542, RangeTypidIndexId, on pg_range using btree(rngtypid oid_ops));
- DECLARE_UNIQUE_INDEX(pg_range_rngmultitypid_index, 2228, RangeMultirangeTypidIndexId, on pg_range using btree(rngmultitypid oid_ops));
- /*
- * prototypes for functions in pg_range.c
- */
- extern void RangeCreate(Oid rangeTypeOid, Oid rangeSubType, Oid rangeCollation,
- Oid rangeSubOpclass, RegProcedure rangeCanonical,
- RegProcedure rangeSubDiff, Oid multirangeTypeOid);
- extern void RangeDelete(Oid rangeTypeOid);
- #endif /* PG_RANGE_H */
|