]> granicus.if.org Git - postgresql/blob - src/include/catalog/pg_amop.h
KNNGIST, otherwise known as order-by-operator support for GIST.
[postgresql] / src / include / catalog / pg_amop.h
1 /*-------------------------------------------------------------------------
2  *
3  * pg_amop.h
4  *        definition of the system "amop" relation (pg_amop)
5  *        along with the relation's initial contents.
6  *
7  * The amop table identifies the operators associated with each index operator
8  * family and operator class (classes are subsets of families).  An associated
9  * operator can be either a search operator or an ordering operator, as
10  * identified by amoppurpose.
11  *
12  * The primary key for this table is <amopfamily, amoplefttype, amoprighttype,
13  * amopstrategy>.  amoplefttype and amoprighttype are just copies of the
14  * operator's oprleft/oprright, ie its declared input data types.  The
15  * "default" operators for a particular opclass within the family are those
16  * with amoplefttype = amoprighttype = opclass's opcintype.  An opfamily may
17  * also contain other operators, typically cross-data-type operators.  All the
18  * operators within a family are supposed to be compatible, in a way that is
19  * defined by each individual index AM.
20  *
21  * We also keep a unique index on <amopopr, amoppurpose, amopfamily>, so that
22  * we can use a syscache to quickly answer questions of the form "is this
23  * operator in this opfamily, and if so what are its semantics with respect to
24  * the family?"  This implies that the same operator cannot be listed for
25  * multiple strategy numbers within a single opfamily, with the exception that
26  * it's possible to list it for both search and ordering purposes (with
27  * different strategy numbers for the two purposes).
28  *
29  * amopmethod is a copy of the owning opfamily's opfmethod field.  This is an
30  * intentional denormalization of the catalogs to buy lookup speed.
31  *
32  *
33  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
34  * Portions Copyright (c) 1994, Regents of the University of California
35  *
36  * src/include/catalog/pg_amop.h
37  *
38  * NOTES
39  *       the genbki.pl script reads this file and generates .bki
40  *       information from the DATA() statements.
41  *
42  *-------------------------------------------------------------------------
43  */
44 #ifndef PG_AMOP_H
45 #define PG_AMOP_H
46
47 #include "catalog/genbki.h"
48
49 /* ----------------
50  *              pg_amop definition.  cpp turns this into
51  *              typedef struct FormData_pg_amop
52  * ----------------
53  */
54 #define AccessMethodOperatorRelationId  2602
55
56 CATALOG(pg_amop,2602)
57 {
58         Oid                     amopfamily;             /* the index opfamily this entry is for */
59         Oid                     amoplefttype;   /* operator's left input data type */
60         Oid                     amoprighttype;  /* operator's right input data type */
61         int2            amopstrategy;   /* operator strategy number */
62         char            amoppurpose;    /* is operator for 's'earch or 'o'rdering? */
63         Oid                     amopopr;                /* the operator's pg_operator OID */
64         Oid                     amopmethod;             /* the index access method this entry is for */
65         Oid                     amopsortfamily; /* ordering opfamily OID, or 0 if search op */
66 } FormData_pg_amop;
67
68 /* allowed values of amoppurpose: */
69 #define AMOP_SEARCH             's'             /* operator is for search */
70 #define AMOP_ORDER              'o'             /* operator is for ordering */
71
72 /* ----------------
73  *              Form_pg_amop corresponds to a pointer to a tuple with
74  *              the format of pg_amop relation.
75  * ----------------
76  */
77 typedef FormData_pg_amop *Form_pg_amop;
78
79 /* ----------------
80  *              compiler constants for pg_amop
81  * ----------------
82  */
83 #define Natts_pg_amop                                   8
84 #define Anum_pg_amop_amopfamily                 1
85 #define Anum_pg_amop_amoplefttype               2
86 #define Anum_pg_amop_amoprighttype              3
87 #define Anum_pg_amop_amopstrategy               4
88 #define Anum_pg_amop_amoppurpose                5
89 #define Anum_pg_amop_amopopr                    6
90 #define Anum_pg_amop_amopmethod                 7
91 #define Anum_pg_amop_amopsortfamily             8
92
93 /* ----------------
94  *              initial contents of pg_amop
95  * ----------------
96  */
97
98 /*
99  *      btree integer_ops
100  */
101
102 /* default operators int2 */
103 DATA(insert (   1976   21 21 1 s        95      403 0 ));
104 DATA(insert (   1976   21 21 2 s        522 403 0 ));
105 DATA(insert (   1976   21 21 3 s        94      403 0 ));
106 DATA(insert (   1976   21 21 4 s        524 403 0 ));
107 DATA(insert (   1976   21 21 5 s        520 403 0 ));
108 /* crosstype operators int24 */
109 DATA(insert (   1976   21 23 1 s        534 403 0 ));
110 DATA(insert (   1976   21 23 2 s        540 403 0 ));
111 DATA(insert (   1976   21 23 3 s        532 403 0 ));
112 DATA(insert (   1976   21 23 4 s        542 403 0 ));
113 DATA(insert (   1976   21 23 5 s        536 403 0 ));
114 /* crosstype operators int28 */
115 DATA(insert (   1976   21 20 1 s        1864    403 0 ));
116 DATA(insert (   1976   21 20 2 s        1866    403 0 ));
117 DATA(insert (   1976   21 20 3 s        1862    403 0 ));
118 DATA(insert (   1976   21 20 4 s        1867    403 0 ));
119 DATA(insert (   1976   21 20 5 s        1865    403 0 ));
120 /* default operators int4 */
121 DATA(insert (   1976   23 23 1 s        97      403 0 ));
122 DATA(insert (   1976   23 23 2 s        523 403 0 ));
123 DATA(insert (   1976   23 23 3 s        96      403 0 ));
124 DATA(insert (   1976   23 23 4 s        525 403 0 ));
125 DATA(insert (   1976   23 23 5 s        521 403 0 ));
126 /* crosstype operators int42 */
127 DATA(insert (   1976   23 21 1 s        535 403 0 ));
128 DATA(insert (   1976   23 21 2 s        541 403 0 ));
129 DATA(insert (   1976   23 21 3 s        533 403 0 ));
130 DATA(insert (   1976   23 21 4 s        543 403 0 ));
131 DATA(insert (   1976   23 21 5 s        537 403 0 ));
132 /* crosstype operators int48 */
133 DATA(insert (   1976   23 20 1 s        37      403 0 ));
134 DATA(insert (   1976   23 20 2 s        80      403 0 ));
135 DATA(insert (   1976   23 20 3 s        15      403 0 ));
136 DATA(insert (   1976   23 20 4 s        82      403 0 ));
137 DATA(insert (   1976   23 20 5 s        76      403 0 ));
138 /* default operators int8 */
139 DATA(insert (   1976   20 20 1 s        412 403 0 ));
140 DATA(insert (   1976   20 20 2 s        414 403 0 ));
141 DATA(insert (   1976   20 20 3 s        410 403 0 ));
142 DATA(insert (   1976   20 20 4 s        415 403 0 ));
143 DATA(insert (   1976   20 20 5 s        413 403 0 ));
144 /* crosstype operators int82 */
145 DATA(insert (   1976   20 21 1 s        1870    403 0 ));
146 DATA(insert (   1976   20 21 2 s        1872    403 0 ));
147 DATA(insert (   1976   20 21 3 s        1868    403 0 ));
148 DATA(insert (   1976   20 21 4 s        1873    403 0 ));
149 DATA(insert (   1976   20 21 5 s        1871    403 0 ));
150 /* crosstype operators int84 */
151 DATA(insert (   1976   20 23 1 s        418 403 0 ));
152 DATA(insert (   1976   20 23 2 s        420 403 0 ));
153 DATA(insert (   1976   20 23 3 s        416 403 0 ));
154 DATA(insert (   1976   20 23 4 s        430 403 0 ));
155 DATA(insert (   1976   20 23 5 s        419 403 0 ));
156
157 /*
158  *      btree oid_ops
159  */
160
161 DATA(insert (   1989   26 26 1 s        609 403 0 ));
162 DATA(insert (   1989   26 26 2 s        611 403 0 ));
163 DATA(insert (   1989   26 26 3 s        607 403 0 ));
164 DATA(insert (   1989   26 26 4 s        612 403 0 ));
165 DATA(insert (   1989   26 26 5 s        610 403 0 ));
166
167 /*
168  * btree tid_ops
169  */
170
171 DATA(insert (   2789   27 27 1 s 2799 403 0 ));
172 DATA(insert (   2789   27 27 2 s 2801 403 0 ));
173 DATA(insert (   2789   27 27 3 s 387  403 0 ));
174 DATA(insert (   2789   27 27 4 s 2802 403 0 ));
175 DATA(insert (   2789   27 27 5 s 2800 403 0 ));
176
177 /*
178  *      btree oidvector_ops
179  */
180
181 DATA(insert (   1991   30 30 1 s        645 403 0 ));
182 DATA(insert (   1991   30 30 2 s        647 403 0 ));
183 DATA(insert (   1991   30 30 3 s        649 403 0 ));
184 DATA(insert (   1991   30 30 4 s        648 403 0 ));
185 DATA(insert (   1991   30 30 5 s        646 403 0 ));
186
187 /*
188  *      btree float_ops
189  */
190
191 /* default operators float4 */
192 DATA(insert (   1970   700 700 1 s      622 403 0 ));
193 DATA(insert (   1970   700 700 2 s      624 403 0 ));
194 DATA(insert (   1970   700 700 3 s      620 403 0 ));
195 DATA(insert (   1970   700 700 4 s      625 403 0 ));
196 DATA(insert (   1970   700 700 5 s      623 403 0 ));
197 /* crosstype operators float48 */
198 DATA(insert (   1970   700 701 1 s      1122 403 0 ));
199 DATA(insert (   1970   700 701 2 s      1124 403 0 ));
200 DATA(insert (   1970   700 701 3 s      1120 403 0 ));
201 DATA(insert (   1970   700 701 4 s      1125 403 0 ));
202 DATA(insert (   1970   700 701 5 s      1123 403 0 ));
203 /* default operators float8 */
204 DATA(insert (   1970   701 701 1 s      672 403 0 ));
205 DATA(insert (   1970   701 701 2 s      673 403 0 ));
206 DATA(insert (   1970   701 701 3 s      670 403 0 ));
207 DATA(insert (   1970   701 701 4 s      675 403 0 ));
208 DATA(insert (   1970   701 701 5 s      674 403 0 ));
209 /* crosstype operators float84 */
210 DATA(insert (   1970   701 700 1 s      1132 403 0 ));
211 DATA(insert (   1970   701 700 2 s      1134 403 0 ));
212 DATA(insert (   1970   701 700 3 s      1130 403 0 ));
213 DATA(insert (   1970   701 700 4 s      1135 403 0 ));
214 DATA(insert (   1970   701 700 5 s      1133 403 0 ));
215
216 /*
217  *      btree char_ops
218  */
219
220 DATA(insert (   429   18 18 1 s  631    403 0 ));
221 DATA(insert (   429   18 18 2 s  632    403 0 ));
222 DATA(insert (   429   18 18 3 s   92    403 0 ));
223 DATA(insert (   429   18 18 4 s  634    403 0 ));
224 DATA(insert (   429   18 18 5 s  633    403 0 ));
225
226 /*
227  *      btree name_ops
228  */
229
230 DATA(insert (   1986   19 19 1 s        660 403 0 ));
231 DATA(insert (   1986   19 19 2 s        661 403 0 ));
232 DATA(insert (   1986   19 19 3 s        93      403 0 ));
233 DATA(insert (   1986   19 19 4 s        663 403 0 ));
234 DATA(insert (   1986   19 19 5 s        662 403 0 ));
235
236 /*
237  *      btree text_ops
238  */
239
240 DATA(insert (   1994   25 25 1 s        664 403 0 ));
241 DATA(insert (   1994   25 25 2 s        665 403 0 ));
242 DATA(insert (   1994   25 25 3 s        98      403 0 ));
243 DATA(insert (   1994   25 25 4 s        667 403 0 ));
244 DATA(insert (   1994   25 25 5 s        666 403 0 ));
245
246 /*
247  *      btree bpchar_ops
248  */
249
250 DATA(insert (   426   1042 1042 1 s 1058        403 0 ));
251 DATA(insert (   426   1042 1042 2 s 1059        403 0 ));
252 DATA(insert (   426   1042 1042 3 s 1054        403 0 ));
253 DATA(insert (   426   1042 1042 4 s 1061        403 0 ));
254 DATA(insert (   426   1042 1042 5 s 1060        403 0 ));
255
256 /*
257  *      btree bytea_ops
258  */
259
260 DATA(insert (   428   17 17 1 s 1957    403 0 ));
261 DATA(insert (   428   17 17 2 s 1958    403 0 ));
262 DATA(insert (   428   17 17 3 s 1955    403 0 ));
263 DATA(insert (   428   17 17 4 s 1960    403 0 ));
264 DATA(insert (   428   17 17 5 s 1959    403 0 ));
265
266 /*
267  *      btree abstime_ops
268  */
269
270 DATA(insert (   421   702 702 1 s  562  403 0 ));
271 DATA(insert (   421   702 702 2 s  564  403 0 ));
272 DATA(insert (   421   702 702 3 s  560  403 0 ));
273 DATA(insert (   421   702 702 4 s  565  403 0 ));
274 DATA(insert (   421   702 702 5 s  563  403 0 ));
275
276 /*
277  *      btree datetime_ops
278  */
279
280 /* default operators date */
281 DATA(insert (   434   1082 1082 1 s 1095        403 0 ));
282 DATA(insert (   434   1082 1082 2 s 1096        403 0 ));
283 DATA(insert (   434   1082 1082 3 s 1093        403 0 ));
284 DATA(insert (   434   1082 1082 4 s 1098        403 0 ));
285 DATA(insert (   434   1082 1082 5 s 1097        403 0 ));
286 /* crosstype operators vs timestamp */
287 DATA(insert (   434   1082 1114 1 s 2345        403 0 ));
288 DATA(insert (   434   1082 1114 2 s 2346        403 0 ));
289 DATA(insert (   434   1082 1114 3 s 2347        403 0 ));
290 DATA(insert (   434   1082 1114 4 s 2348        403 0 ));
291 DATA(insert (   434   1082 1114 5 s 2349        403 0 ));
292 /* crosstype operators vs timestamptz */
293 DATA(insert (   434   1082 1184 1 s 2358        403 0 ));
294 DATA(insert (   434   1082 1184 2 s 2359        403 0 ));
295 DATA(insert (   434   1082 1184 3 s 2360        403 0 ));
296 DATA(insert (   434   1082 1184 4 s 2361        403 0 ));
297 DATA(insert (   434   1082 1184 5 s 2362        403 0 ));
298 /* default operators timestamp */
299 DATA(insert (   434   1114 1114 1 s 2062        403 0 ));
300 DATA(insert (   434   1114 1114 2 s 2063        403 0 ));
301 DATA(insert (   434   1114 1114 3 s 2060        403 0 ));
302 DATA(insert (   434   1114 1114 4 s 2065        403 0 ));
303 DATA(insert (   434   1114 1114 5 s 2064        403 0 ));
304 /* crosstype operators vs date */
305 DATA(insert (   434   1114 1082 1 s 2371        403 0 ));
306 DATA(insert (   434   1114 1082 2 s 2372        403 0 ));
307 DATA(insert (   434   1114 1082 3 s 2373        403 0 ));
308 DATA(insert (   434   1114 1082 4 s 2374        403 0 ));
309 DATA(insert (   434   1114 1082 5 s 2375        403 0 ));
310 /* crosstype operators vs timestamptz */
311 DATA(insert (   434   1114 1184 1 s 2534        403 0 ));
312 DATA(insert (   434   1114 1184 2 s 2535        403 0 ));
313 DATA(insert (   434   1114 1184 3 s 2536        403 0 ));
314 DATA(insert (   434   1114 1184 4 s 2537        403 0 ));
315 DATA(insert (   434   1114 1184 5 s 2538        403 0 ));
316 /* default operators timestamptz */
317 DATA(insert (   434   1184 1184 1 s 1322        403 0 ));
318 DATA(insert (   434   1184 1184 2 s 1323        403 0 ));
319 DATA(insert (   434   1184 1184 3 s 1320        403 0 ));
320 DATA(insert (   434   1184 1184 4 s 1325        403 0 ));
321 DATA(insert (   434   1184 1184 5 s 1324        403 0 ));
322 /* crosstype operators vs date */
323 DATA(insert (   434   1184 1082 1 s 2384        403 0 ));
324 DATA(insert (   434   1184 1082 2 s 2385        403 0 ));
325 DATA(insert (   434   1184 1082 3 s 2386        403 0 ));
326 DATA(insert (   434   1184 1082 4 s 2387        403 0 ));
327 DATA(insert (   434   1184 1082 5 s 2388        403 0 ));
328 /* crosstype operators vs timestamp */
329 DATA(insert (   434   1184 1114 1 s 2540        403 0 ));
330 DATA(insert (   434   1184 1114 2 s 2541        403 0 ));
331 DATA(insert (   434   1184 1114 3 s 2542        403 0 ));
332 DATA(insert (   434   1184 1114 4 s 2543        403 0 ));
333 DATA(insert (   434   1184 1114 5 s 2544        403 0 ));
334
335 /*
336  *      btree time_ops
337  */
338
339 DATA(insert (   1996   1083 1083 1 s 1110 403 0 ));
340 DATA(insert (   1996   1083 1083 2 s 1111 403 0 ));
341 DATA(insert (   1996   1083 1083 3 s 1108 403 0 ));
342 DATA(insert (   1996   1083 1083 4 s 1113 403 0 ));
343 DATA(insert (   1996   1083 1083 5 s 1112 403 0 ));
344
345 /*
346  *      btree timetz_ops
347  */
348
349 DATA(insert (   2000   1266 1266 1 s 1552 403 0 ));
350 DATA(insert (   2000   1266 1266 2 s 1553 403 0 ));
351 DATA(insert (   2000   1266 1266 3 s 1550 403 0 ));
352 DATA(insert (   2000   1266 1266 4 s 1555 403 0 ));
353 DATA(insert (   2000   1266 1266 5 s 1554 403 0 ));
354
355 /*
356  *      btree interval_ops
357  */
358
359 DATA(insert (   1982   1186 1186 1 s 1332 403 0 ));
360 DATA(insert (   1982   1186 1186 2 s 1333 403 0 ));
361 DATA(insert (   1982   1186 1186 3 s 1330 403 0 ));
362 DATA(insert (   1982   1186 1186 4 s 1335 403 0 ));
363 DATA(insert (   1982   1186 1186 5 s 1334 403 0 ));
364
365 /*
366  *      btree macaddr
367  */
368
369 DATA(insert (   1984   829 829 1 s 1222 403 0 ));
370 DATA(insert (   1984   829 829 2 s 1223 403 0 ));
371 DATA(insert (   1984   829 829 3 s 1220 403 0 ));
372 DATA(insert (   1984   829 829 4 s 1225 403 0 ));
373 DATA(insert (   1984   829 829 5 s 1224 403 0 ));
374
375 /*
376  *      btree network
377  */
378
379 DATA(insert (   1974   869 869 1 s 1203 403 0 ));
380 DATA(insert (   1974   869 869 2 s 1204 403 0 ));
381 DATA(insert (   1974   869 869 3 s 1201 403 0 ));
382 DATA(insert (   1974   869 869 4 s 1206 403 0 ));
383 DATA(insert (   1974   869 869 5 s 1205 403 0 ));
384
385 /*
386  *      btree numeric
387  */
388
389 DATA(insert (   1988   1700 1700 1 s 1754 403 0 ));
390 DATA(insert (   1988   1700 1700 2 s 1755 403 0 ));
391 DATA(insert (   1988   1700 1700 3 s 1752 403 0 ));
392 DATA(insert (   1988   1700 1700 4 s 1757 403 0 ));
393 DATA(insert (   1988   1700 1700 5 s 1756 403 0 ));
394
395 /*
396  *      btree bool
397  */
398
399 DATA(insert (   424   16 16 1 s 58              403 0 ));
400 DATA(insert (   424   16 16 2 s 1694    403 0 ));
401 DATA(insert (   424   16 16 3 s 91              403 0 ));
402 DATA(insert (   424   16 16 4 s 1695    403 0 ));
403 DATA(insert (   424   16 16 5 s 59              403 0 ));
404
405 /*
406  *      btree bit
407  */
408
409 DATA(insert (   423   1560 1560 1 s 1786        403 0 ));
410 DATA(insert (   423   1560 1560 2 s 1788        403 0 ));
411 DATA(insert (   423   1560 1560 3 s 1784        403 0 ));
412 DATA(insert (   423   1560 1560 4 s 1789        403 0 ));
413 DATA(insert (   423   1560 1560 5 s 1787        403 0 ));
414
415 /*
416  *      btree varbit
417  */
418
419 DATA(insert (   2002   1562 1562 1 s 1806 403 0 ));
420 DATA(insert (   2002   1562 1562 2 s 1808 403 0 ));
421 DATA(insert (   2002   1562 1562 3 s 1804 403 0 ));
422 DATA(insert (   2002   1562 1562 4 s 1809 403 0 ));
423 DATA(insert (   2002   1562 1562 5 s 1807 403 0 ));
424
425 /*
426  *      btree text pattern
427  */
428
429 DATA(insert (   2095   25 25 1 s 2314 403 0 ));
430 DATA(insert (   2095   25 25 2 s 2315 403 0 ));
431 DATA(insert (   2095   25 25 3 s 98   403 0 ));
432 DATA(insert (   2095   25 25 4 s 2317 403 0 ));
433 DATA(insert (   2095   25 25 5 s 2318 403 0 ));
434
435 /*
436  *      btree bpchar pattern
437  */
438
439 DATA(insert (   2097   1042 1042 1 s 2326 403 0 ));
440 DATA(insert (   2097   1042 1042 2 s 2327 403 0 ));
441 DATA(insert (   2097   1042 1042 3 s 1054 403 0 ));
442 DATA(insert (   2097   1042 1042 4 s 2329 403 0 ));
443 DATA(insert (   2097   1042 1042 5 s 2330 403 0 ));
444
445 /*
446  *      btree money_ops
447  */
448
449 DATA(insert (   2099   790 790 1 s      902 403 0 ));
450 DATA(insert (   2099   790 790 2 s      904 403 0 ));
451 DATA(insert (   2099   790 790 3 s      900 403 0 ));
452 DATA(insert (   2099   790 790 4 s      905 403 0 ));
453 DATA(insert (   2099   790 790 5 s      903 403 0 ));
454
455 /*
456  *      btree reltime_ops
457  */
458
459 DATA(insert (   2233   703 703 1 s      568 403 0 ));
460 DATA(insert (   2233   703 703 2 s      570 403 0 ));
461 DATA(insert (   2233   703 703 3 s      566 403 0 ));
462 DATA(insert (   2233   703 703 4 s      571 403 0 ));
463 DATA(insert (   2233   703 703 5 s      569 403 0 ));
464
465 /*
466  *      btree tinterval_ops
467  */
468
469 DATA(insert (   2234   704 704 1 s      813 403 0 ));
470 DATA(insert (   2234   704 704 2 s      815 403 0 ));
471 DATA(insert (   2234   704 704 3 s      811 403 0 ));
472 DATA(insert (   2234   704 704 4 s      816 403 0 ));
473 DATA(insert (   2234   704 704 5 s      814 403 0 ));
474
475 /*
476  *      btree array_ops
477  */
478
479 DATA(insert (   397   2277 2277 1 s 1072        403 0 ));
480 DATA(insert (   397   2277 2277 2 s 1074        403 0 ));
481 DATA(insert (   397   2277 2277 3 s 1070        403 0 ));
482 DATA(insert (   397   2277 2277 4 s 1075        403 0 ));
483 DATA(insert (   397   2277 2277 5 s 1073        403 0 ));
484
485 /*
486  *      btree record_ops
487  */
488
489 DATA(insert (   2994  2249 2249 1 s 2990        403 0 ));
490 DATA(insert (   2994  2249 2249 2 s 2992        403 0 ));
491 DATA(insert (   2994  2249 2249 3 s 2988        403 0 ));
492 DATA(insert (   2994  2249 2249 4 s 2993        403 0 ));
493 DATA(insert (   2994  2249 2249 5 s 2991        403 0 ));
494
495 /*
496  * btree uuid_ops
497  */
498
499 DATA(insert (   2968  2950 2950 1 s 2974        403 0 ));
500 DATA(insert (   2968  2950 2950 2 s 2976        403 0 ));
501 DATA(insert (   2968  2950 2950 3 s 2972        403 0 ));
502 DATA(insert (   2968  2950 2950 4 s 2977        403 0 ));
503 DATA(insert (   2968  2950 2950 5 s 2975        403 0 ));
504
505 /*
506  *      hash index _ops
507  */
508
509 /* bpchar_ops */
510 DATA(insert (   427   1042 1042 1 s 1054        405 0 ));
511 /* char_ops */
512 DATA(insert (   431   18 18 1 s 92      405 0 ));
513 /* date_ops */
514 DATA(insert (   435   1082 1082 1 s 1093        405 0 ));
515 /* float_ops */
516 DATA(insert (   1971   700 700 1 s      620 405 0 ));
517 DATA(insert (   1971   701 701 1 s      670 405 0 ));
518 DATA(insert (   1971   700 701 1 s 1120 405 0 ));
519 DATA(insert (   1971   701 700 1 s 1130 405 0 ));
520 /* network_ops */
521 DATA(insert (   1975   869 869 1 s 1201 405 0 ));
522 /* integer_ops */
523 DATA(insert (   1977   21 21 1 s        94       405 0 ));
524 DATA(insert (   1977   23 23 1 s        96       405 0 ));
525 DATA(insert (   1977   20 20 1 s        410  405 0 ));
526 DATA(insert (   1977   21 23 1 s        532  405 0 ));
527 DATA(insert (   1977   21 20 1 s        1862 405 0 ));
528 DATA(insert (   1977   23 21 1 s        533  405 0 ));
529 DATA(insert (   1977   23 20 1 s        15       405 0 ));
530 DATA(insert (   1977   20 21 1 s        1868 405 0 ));
531 DATA(insert (   1977   20 23 1 s        416  405 0 ));
532 /* interval_ops */
533 DATA(insert (   1983   1186 1186 1 s 1330 405 0 ));
534 /* macaddr_ops */
535 DATA(insert (   1985   829 829 1 s 1220 405 0 ));
536 /* name_ops */
537 DATA(insert (   1987   19 19 1 s        93      405 0 ));
538 /* oid_ops */
539 DATA(insert (   1990   26 26 1 s        607 405 0 ));
540 /* oidvector_ops */
541 DATA(insert (   1992   30 30 1 s        649 405 0 ));
542 /* text_ops */
543 DATA(insert (   1995   25 25 1 s        98      405 0 ));
544 /* time_ops */
545 DATA(insert (   1997   1083 1083 1 s 1108 405 0 ));
546 /* timestamptz_ops */
547 DATA(insert (   1999   1184 1184 1 s 1320 405 0 ));
548 /* timetz_ops */
549 DATA(insert (   2001   1266 1266 1 s 1550 405 0 ));
550 /* timestamp_ops */
551 DATA(insert (   2040   1114 1114 1 s 2060 405 0 ));
552 /* bool_ops */
553 DATA(insert (   2222   16 16 1 s   91 405 0 ));
554 /* bytea_ops */
555 DATA(insert (   2223   17 17 1 s 1955 405 0 ));
556 /* int2vector_ops */
557 DATA(insert (   2224   22 22 1 s        386 405 0 ));
558 /* xid_ops */
559 DATA(insert (   2225   28 28 1 s        352 405 0 ));
560 /* cid_ops */
561 DATA(insert (   2226   29 29 1 s        385 405 0 ));
562 /* abstime_ops */
563 DATA(insert (   2227   702 702 1 s      560 405 0 ));
564 /* reltime_ops */
565 DATA(insert (   2228   703 703 1 s      566 405 0 ));
566 /* text_pattern_ops */
567 DATA(insert (   2229   25 25 1 s        98      405 0 ));
568 /* bpchar_pattern_ops */
569 DATA(insert (   2231   1042 1042 1 s 1054 405 0 ));
570 /* aclitem_ops */
571 DATA(insert (   2235   1033 1033 1 s  974 405 0 ));
572 /* uuid_ops */
573 DATA(insert (   2969   2950 2950 1 s 2972 405 0 ));
574 /* numeric_ops */
575 DATA(insert (   1998   1700 1700 1 s 1752 405 0 ));
576 /* array_ops */
577 DATA(insert (   627    2277 2277 1 s 1070 405 0 ));
578
579
580 /*
581  *      gist box_ops
582  */
583
584 DATA(insert (   2593   603 603 1 s  493 783 0 ));
585 DATA(insert (   2593   603 603 2 s  494 783 0 ));
586 DATA(insert (   2593   603 603 3 s  500 783 0 ));
587 DATA(insert (   2593   603 603 4 s  495 783 0 ));
588 DATA(insert (   2593   603 603 5 s  496 783 0 ));
589 DATA(insert (   2593   603 603 6 s  499 783 0 ));
590 DATA(insert (   2593   603 603 7 s  498 783 0 ));
591 DATA(insert (   2593   603 603 8 s  497 783 0 ));
592 DATA(insert (   2593   603 603 9 s  2571 783 0 ));
593 DATA(insert (   2593   603 603 10 s 2570 783 0 ));
594 DATA(insert (   2593   603 603 11 s 2573 783 0 ));
595 DATA(insert (   2593   603 603 12 s 2572 783 0 ));
596 DATA(insert (   2593   603 603 13 s 2863 783 0 ));
597 DATA(insert (   2593   603 603 14 s 2862 783 0 ));
598
599 /*
600  * gist point_ops
601  */
602 DATA(insert (   1029   600 600 11 s 506 783 0 ));
603 DATA(insert (   1029   600 600 1 s  507 783 0 ));
604 DATA(insert (   1029   600 600 5 s  508 783 0 ));
605 DATA(insert (   1029   600 600 10 s 509 783 0 ));
606 DATA(insert (   1029   600 600 6 s  510 783 0 ));
607 DATA(insert (   1029   600 600 15 o 517 783 1970 ));
608 DATA(insert (   1029   603 600 27 s 433 783 0 ));
609 DATA(insert (   1029   600 603 28 s 511 783 0 ));
610 DATA(insert (   1029   604 600 47 s 757 783 0 ));
611 DATA(insert (   1029   600 604 48 s 756 783 0 ));
612 DATA(insert (   1029   718 600 67 s 759 783 0 ));
613 DATA(insert (   1029   600 718 68 s 758 783 0 ));
614
615
616 /*
617  *      gist poly_ops (supports polygons)
618  */
619
620 DATA(insert (   2594   604 604 1 s  485 783 0 ));
621 DATA(insert (   2594   604 604 2 s  486 783 0 ));
622 DATA(insert (   2594   604 604 3 s  492 783 0 ));
623 DATA(insert (   2594   604 604 4 s  487 783 0 ));
624 DATA(insert (   2594   604 604 5 s  488 783 0 ));
625 DATA(insert (   2594   604 604 6 s  491 783 0 ));
626 DATA(insert (   2594   604 604 7 s  490 783 0 ));
627 DATA(insert (   2594   604 604 8 s  489 783 0 ));
628 DATA(insert (   2594   604 604 9 s  2575 783 0 ));
629 DATA(insert (   2594   604 604 10 s 2574 783 0 ));
630 DATA(insert (   2594   604 604 11 s 2577 783 0 ));
631 DATA(insert (   2594   604 604 12 s 2576 783 0 ));
632 DATA(insert (   2594   604 604 13 s 2861 783 0 ));
633 DATA(insert (   2594   604 604 14 s 2860 783 0 ));
634
635 /*
636  *      gist circle_ops
637  */
638
639 DATA(insert (   2595   718 718 1 s  1506 783 0 ));
640 DATA(insert (   2595   718 718 2 s  1507 783 0 ));
641 DATA(insert (   2595   718 718 3 s  1513 783 0 ));
642 DATA(insert (   2595   718 718 4 s  1508 783 0 ));
643 DATA(insert (   2595   718 718 5 s  1509 783 0 ));
644 DATA(insert (   2595   718 718 6 s  1512 783 0 ));
645 DATA(insert (   2595   718 718 7 s  1511 783 0 ));
646 DATA(insert (   2595   718 718 8 s  1510 783 0 ));
647 DATA(insert (   2595   718 718 9 s  2589 783 0 ));
648 DATA(insert (   2595   718 718 10 s 1515 783 0 ));
649 DATA(insert (   2595   718 718 11 s 1514 783 0 ));
650 DATA(insert (   2595   718 718 12 s 2590 783 0 ));
651 DATA(insert (   2595   718 718 13 s 2865 783 0 ));
652 DATA(insert (   2595   718 718 14 s 2864 783 0 ));
653
654 /*
655  * gin array_ops (these anyarray operators are used with all the opclasses
656  * of the family)
657  */
658 DATA(insert (   2745   2277 2277 1 s 2750 2742 0 ));
659 DATA(insert (   2745   2277 2277 2 s 2751 2742 0 ));
660 DATA(insert (   2745   2277 2277 3 s 2752 2742 0 ));
661 DATA(insert (   2745   2277 2277 4 s 1070 2742 0 ));
662
663 /*
664  * btree enum_ops
665  */
666 DATA(insert (   3522   3500 3500 1 s 3518 403 0 ));
667 DATA(insert (   3522   3500 3500 2 s 3520 403 0 ));
668 DATA(insert (   3522   3500 3500 3 s 3516 403 0 ));
669 DATA(insert (   3522   3500 3500 4 s 3521 403 0 ));
670 DATA(insert (   3522   3500 3500 5 s 3519 403 0 ));
671
672 /*
673  * hash enum_ops
674  */
675 DATA(insert (   3523   3500 3500 1 s 3516 405 0 ));
676
677 /*
678  * btree tsvector_ops
679  */
680 DATA(insert (   3626   3614 3614 1 s    3627 403 0 ));
681 DATA(insert (   3626   3614 3614 2 s    3628 403 0 ));
682 DATA(insert (   3626   3614 3614 3 s    3629 403 0 ));
683 DATA(insert (   3626   3614 3614 4 s    3631 403 0 ));
684 DATA(insert (   3626   3614 3614 5 s    3632 403 0 ));
685
686 /*
687  * GiST tsvector_ops
688  */
689 DATA(insert (   3655   3614 3615 1 s    3636 783 0 ));
690
691 /*
692  * GIN tsvector_ops
693  */
694 DATA(insert (   3659   3614 3615 1 s    3636 2742 0 ));
695 DATA(insert (   3659   3614 3615 2 s    3660 2742 0 ));
696
697 /*
698  * btree tsquery_ops
699  */
700 DATA(insert (   3683   3615 3615 1 s    3674 403 0 ));
701 DATA(insert (   3683   3615 3615 2 s    3675 403 0 ));
702 DATA(insert (   3683   3615 3615 3 s    3676 403 0 ));
703 DATA(insert (   3683   3615 3615 4 s    3678 403 0 ));
704 DATA(insert (   3683   3615 3615 5 s    3679 403 0 ));
705
706 /*
707  * GiST tsquery_ops
708  */
709 DATA(insert (   3702   3615 3615 7 s    3693 783 0 ));
710 DATA(insert (   3702   3615 3615 8 s    3694 783 0 ));
711
712 #endif   /* PG_AMOP_H */