1 /*-------------------------------------------------------------------------
2  *
3  * pg_range.h
4  *	  definition of the "range type" system catalog (pg_range)
5  *
6  *
7  * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/catalog/pg_range.h
aes192_encrypt(bh: &mut test::Bencher)11  *
12  * NOTES
13  *	  The Catalog.pm module reads this file and derives schema
14  *	  information.
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_RANGE_H
19 #define PG_RANGE_H
20 
21 #include "catalog/genbki.h"
22 #include "catalog/pg_range_d.h"
23 
24 /* ----------------
25  *		pg_range definition.  cpp turns this into
26  *		typedef struct FormData_pg_range
27  * ----------------
28  */
29 CATALOG(pg_range,3541,RangeRelationId)
30 {
31 	/* OID of owning range type */
32 	Oid			rngtypid BKI_LOOKUP(pg_type);
33 
34 	/* OID of range's element type (subtype) */
35 	Oid			rngsubtype BKI_LOOKUP(pg_type);
36 
37 	/* collation for this range type, or 0 */
38 	Oid			rngcollation BKI_DEFAULT(0);
39 
40 	/* subtype's btree opclass */
41 	Oid			rngsubopc BKI_LOOKUP(pg_opclass);
42 
43 	/* canonicalize range, or 0 */
44 	regproc		rngcanonical BKI_LOOKUP(pg_proc);
45 
46 	/* subtype difference as a float8, or 0 */
47 	regproc		rngsubdiff BKI_LOOKUP(pg_proc);
48 } FormData_pg_range;
49 
50 /* ----------------
51  *		Form_pg_range corresponds to a pointer to a tuple with
52  *		the format of pg_range relation.
53  * ----------------
54  */
55 typedef FormData_pg_range *Form_pg_range;
56 
57 /*
58  * prototypes for functions in pg_range.c
59  */
60 
61 extern void RangeCreate(Oid rangeTypeOid, Oid rangeSubType, Oid rangeCollation,
62 						Oid rangeSubOpclass, RegProcedure rangeCanonical,
63 						RegProcedure rangeSubDiff);
64 extern void RangeDelete(Oid rangeTypeOid);
65 
66 #endif							/* PG_RANGE_H */
67