1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
/*-------------------------------------------------------------------------
*
* pg_opclass.h
* definition of the system "opclass" relation (pg_opclass)
* along with the relation's initial contents.
*
* New definition for Postgres 7.2: the primary key for this table is
* <opcamid, opcname> --- that is, there is a row for each valid combination
* of opclass name and index access method type. This row specifies the
* expected input data type for the opclass (the type of the heap column,
* or the function output type in the case of a functional index). Note
* that types binary-compatible with the specified type will be accepted too.
*
* For a given <opcamid, opcintype> pair, there can be at most one row that
* has opcdefault = true; this row is the default opclass for such data in
* such an index.
*
* Normally opckeytype = InvalidOid (zero), indicating that the data stored
* in the index is the same as the input data. If opckeytype is nonzero
* then it indicates that a conversion step is needed to produce the stored
* index data, which will be of type opckeytype (which might be the same or
* different from the input data). Performing such a conversion is the
* responsibility of the index access method --- not all AMs support this.
*
*
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_opclass.h,v 1.41 2001/10/25 05:49:57 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_OPCLASS_H
#define PG_OPCLASS_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_opclass definition. cpp turns this into
* typedef struct FormData_pg_opclass
* ----------------
*/
CATALOG(pg_opclass)
{
Oid opcamid; /* index access method opclass is for */
NameData opcname; /* name of this opclass */
Oid opcintype; /* type of input data for opclass */
bool opcdefault; /* T if opclass is default for opcintype */
Oid opckeytype; /* type of index data, or InvalidOid */
} FormData_pg_opclass;
/* ----------------
* Form_pg_opclass corresponds to a pointer to a tuple with
* the format of pg_opclass relation.
* ----------------
*/
typedef FormData_pg_opclass *Form_pg_opclass;
/* ----------------
* compiler constants for pg_opclass
* ----------------
*/
#define Natts_pg_opclass 5
#define Anum_pg_opclass_opcamid 1
#define Anum_pg_opclass_opcname 2
#define Anum_pg_opclass_opcintype 3
#define Anum_pg_opclass_opcdefault 4
#define Anum_pg_opclass_opckeytype 5
/* ----------------
* initial contents of pg_opclass
* ----------------
*/
DATA(insert OID = 421 ( 403 abstime_ops 702 t 0 ));
DATA(insert OID = 422 ( 402 bigbox_ops 603 f 0 ));
DATA(insert OID = 423 ( 403 bit_ops 1560 t 0 ));
DATA(insert OID = 424 ( 403 bool_ops 16 t 0 ));
DATA(insert OID = 425 ( 402 box_ops 603 t 0 ));
DATA(insert OID = 426 ( 403 bpchar_ops 1042 t 0 ));
DATA(insert OID = 427 ( 405 bpchar_ops 1042 t 0 ));
DATA(insert OID = 428 ( 403 bytea_ops 17 t 0 ));
DATA(insert OID = 429 ( 403 char_ops 18 t 0 ));
DATA(insert OID = 431 ( 405 char_ops 18 t 0 ));
DATA(insert OID = 432 ( 403 cidr_ops 650 t 0 ));
DATA(insert OID = 433 ( 405 cidr_ops 650 t 0 ));
DATA(insert OID = 434 ( 403 date_ops 1082 t 0 ));
DATA(insert OID = 435 ( 405 date_ops 1082 t 0 ));
DATA(insert OID = 1970 ( 403 float4_ops 700 t 0 ));
DATA(insert OID = 1971 ( 405 float4_ops 700 t 0 ));
DATA(insert OID = 1972 ( 403 float8_ops 701 t 0 ));
DATA(insert OID = 1973 ( 405 float8_ops 701 t 0 ));
DATA(insert OID = 1974 ( 403 inet_ops 869 t 0 ));
DATA(insert OID = 1975 ( 405 inet_ops 869 t 0 ));
DATA(insert OID = 1976 ( 403 int2_ops 21 t 0 ));
#define INT2_BTREE_OPS_OID 1976
DATA(insert OID = 1977 ( 405 int2_ops 21 t 0 ));
DATA(insert OID = 1978 ( 403 int4_ops 23 t 0 ));
#define INT4_BTREE_OPS_OID 1978
DATA(insert OID = 1979 ( 405 int4_ops 23 t 0 ));
DATA(insert OID = 1980 ( 403 int8_ops 20 t 0 ));
DATA(insert OID = 1981 ( 405 int8_ops 20 t 0 ));
DATA(insert OID = 1982 ( 403 interval_ops 1186 t 0 ));
DATA(insert OID = 1983 ( 405 interval_ops 1186 t 0 ));
DATA(insert OID = 1984 ( 403 macaddr_ops 829 t 0 ));
DATA(insert OID = 1985 ( 405 macaddr_ops 829 t 0 ));
DATA(insert OID = 1986 ( 403 name_ops 19 t 0 ));
DATA(insert OID = 1987 ( 405 name_ops 19 t 0 ));
DATA(insert OID = 1988 ( 403 numeric_ops 1700 t 0 ));
DATA(insert OID = 1989 ( 403 oid_ops 26 t 0 ));
#define OID_BTREE_OPS_OID 1989
DATA(insert OID = 1990 ( 405 oid_ops 26 t 0 ));
DATA(insert OID = 1991 ( 403 oidvector_ops 30 t 0 ));
DATA(insert OID = 1992 ( 405 oidvector_ops 30 t 0 ));
DATA(insert OID = 1993 ( 402 poly_ops 604 t 0 ));
DATA(insert OID = 1994 ( 403 text_ops 25 t 0 ));
DATA(insert OID = 1995 ( 405 text_ops 25 t 0 ));
DATA(insert OID = 1996 ( 403 time_ops 1083 t 0 ));
DATA(insert OID = 1997 ( 405 time_ops 1083 t 0 ));
DATA(insert OID = 1998 ( 403 timestamptz_ops 1184 t 0 ));
DATA(insert OID = 1999 ( 405 timestamptz_ops 1184 t 0 ));
DATA(insert OID = 2000 ( 403 timetz_ops 1266 t 0 ));
DATA(insert OID = 2001 ( 405 timetz_ops 1266 t 0 ));
DATA(insert OID = 2002 ( 403 varbit_ops 1562 t 0 ));
DATA(insert OID = 2003 ( 403 varchar_ops 1043 t 0 ));
DATA(insert OID = 2004 ( 405 varchar_ops 1043 t 0 ));
DATA(insert OID = 2039 ( 403 timestamp_ops 1114 t 0 ));
DATA(insert OID = 2040 ( 405 timestamp_ops 1114 t 0 ));
#endif /* PG_OPCLASS_H */
|