]> granicus.if.org Git - postgresql/blob - contrib/btree_gin/btree_gin--1.0.sql
07f93640f3382d3fba84cbf51390f6342ecff563
[postgresql] / contrib / btree_gin / btree_gin--1.0.sql
1 /* contrib/btree_gin/btree_gin--1.0.sql */
2
3 CREATE FUNCTION gin_btree_consistent(internal, int2, anyelement, int4, internal, internal)
4 RETURNS bool
5 AS 'MODULE_PATHNAME'
6 LANGUAGE C STRICT IMMUTABLE;
7
8 CREATE FUNCTION gin_extract_value_int2(int2, internal)
9 RETURNS internal
10 AS 'MODULE_PATHNAME'
11 LANGUAGE C STRICT IMMUTABLE;
12
13 CREATE FUNCTION gin_compare_prefix_int2(int2, int2, int2, internal)
14 RETURNS int4
15 AS 'MODULE_PATHNAME'
16 LANGUAGE C STRICT IMMUTABLE;
17
18 CREATE FUNCTION gin_extract_query_int2(int2, internal, int2, internal, internal)
19 RETURNS internal
20 AS 'MODULE_PATHNAME'
21 LANGUAGE C STRICT IMMUTABLE;
22
23 CREATE OPERATOR CLASS int2_ops
24 DEFAULT FOR TYPE int2 USING gin
25 AS
26     OPERATOR        1       <,
27     OPERATOR        2       <=,
28     OPERATOR        3       =,
29     OPERATOR        4       >=,
30     OPERATOR        5       >,
31     FUNCTION        1       btint2cmp(int2,int2),
32     FUNCTION        2       gin_extract_value_int2(int2, internal),
33     FUNCTION        3       gin_extract_query_int2(int2, internal, int2, internal, internal),
34     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
35     FUNCTION        5       gin_compare_prefix_int2(int2,int2,int2, internal),
36 STORAGE         int2;
37
38 CREATE FUNCTION gin_extract_value_int4(int4, internal)
39 RETURNS internal
40 AS 'MODULE_PATHNAME'
41 LANGUAGE C STRICT IMMUTABLE;
42
43 CREATE FUNCTION gin_compare_prefix_int4(int4, int4, int2, internal)
44 RETURNS int4
45 AS 'MODULE_PATHNAME'
46 LANGUAGE C STRICT IMMUTABLE;
47
48 CREATE FUNCTION gin_extract_query_int4(int4, internal, int2, internal, internal)
49 RETURNS internal
50 AS 'MODULE_PATHNAME'
51 LANGUAGE C STRICT IMMUTABLE;
52
53 CREATE OPERATOR CLASS int4_ops
54 DEFAULT FOR TYPE int4 USING gin
55 AS
56     OPERATOR        1       <,
57     OPERATOR        2       <=,
58     OPERATOR        3       =,
59     OPERATOR        4       >=,
60     OPERATOR        5       >,
61     FUNCTION        1       btint4cmp(int4,int4),
62     FUNCTION        2       gin_extract_value_int4(int4, internal),
63     FUNCTION        3       gin_extract_query_int4(int4, internal, int2, internal, internal),
64     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
65     FUNCTION        5       gin_compare_prefix_int4(int4,int4,int2, internal),
66 STORAGE         int4;
67
68 CREATE FUNCTION gin_extract_value_int8(int8, internal)
69 RETURNS internal
70 AS 'MODULE_PATHNAME'
71 LANGUAGE C STRICT IMMUTABLE;
72
73 CREATE FUNCTION gin_compare_prefix_int8(int8, int8, int2, internal)
74 RETURNS int4
75 AS 'MODULE_PATHNAME'
76 LANGUAGE C STRICT IMMUTABLE;
77
78 CREATE FUNCTION gin_extract_query_int8(int8, internal, int2, internal, internal)
79 RETURNS internal
80 AS 'MODULE_PATHNAME'
81 LANGUAGE C STRICT IMMUTABLE;
82
83 CREATE OPERATOR CLASS int8_ops
84 DEFAULT FOR TYPE int8 USING gin
85 AS
86     OPERATOR        1       <,
87     OPERATOR        2       <=,
88     OPERATOR        3       =,
89     OPERATOR        4       >=,
90     OPERATOR        5       >,
91     FUNCTION        1       btint8cmp(int8,int8),
92     FUNCTION        2       gin_extract_value_int8(int8, internal),
93     FUNCTION        3       gin_extract_query_int8(int8, internal, int2, internal, internal),
94     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
95     FUNCTION        5       gin_compare_prefix_int8(int8,int8,int2, internal),
96 STORAGE         int8;
97
98 CREATE FUNCTION gin_extract_value_float4(float4, internal)
99 RETURNS internal
100 AS 'MODULE_PATHNAME'
101 LANGUAGE C STRICT IMMUTABLE;
102
103 CREATE FUNCTION gin_compare_prefix_float4(float4, float4, int2, internal)
104 RETURNS int4
105 AS 'MODULE_PATHNAME'
106 LANGUAGE C STRICT IMMUTABLE;
107
108 CREATE FUNCTION gin_extract_query_float4(float4, internal, int2, internal, internal)
109 RETURNS internal
110 AS 'MODULE_PATHNAME'
111 LANGUAGE C STRICT IMMUTABLE;
112
113 CREATE OPERATOR CLASS float4_ops
114 DEFAULT FOR TYPE float4 USING gin
115 AS
116     OPERATOR        1       <,
117     OPERATOR        2       <=,
118     OPERATOR        3       =,
119     OPERATOR        4       >=,
120     OPERATOR        5       >,
121     FUNCTION        1       btfloat4cmp(float4,float4),
122     FUNCTION        2       gin_extract_value_float4(float4, internal),
123     FUNCTION        3       gin_extract_query_float4(float4, internal, int2, internal, internal),
124     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
125     FUNCTION        5       gin_compare_prefix_float4(float4,float4,int2, internal),
126 STORAGE         float4;
127
128 CREATE FUNCTION gin_extract_value_float8(float8, internal)
129 RETURNS internal
130 AS 'MODULE_PATHNAME'
131 LANGUAGE C STRICT IMMUTABLE;
132
133 CREATE FUNCTION gin_compare_prefix_float8(float8, float8, int2, internal)
134 RETURNS int4
135 AS 'MODULE_PATHNAME'
136 LANGUAGE C STRICT IMMUTABLE;
137
138 CREATE FUNCTION gin_extract_query_float8(float8, internal, int2, internal, internal)
139 RETURNS internal
140 AS 'MODULE_PATHNAME'
141 LANGUAGE C STRICT IMMUTABLE;
142
143 CREATE OPERATOR CLASS float8_ops
144 DEFAULT FOR TYPE float8 USING gin
145 AS
146     OPERATOR        1       <,
147     OPERATOR        2       <=,
148     OPERATOR        3       =,
149     OPERATOR        4       >=,
150     OPERATOR        5       >,
151     FUNCTION        1       btfloat8cmp(float8,float8),
152     FUNCTION        2       gin_extract_value_float8(float8, internal),
153     FUNCTION        3       gin_extract_query_float8(float8, internal, int2, internal, internal),
154     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
155     FUNCTION        5       gin_compare_prefix_float8(float8,float8,int2, internal),
156 STORAGE         float8;
157
158 CREATE FUNCTION gin_extract_value_money(money, internal)
159 RETURNS internal
160 AS 'MODULE_PATHNAME'
161 LANGUAGE C STRICT IMMUTABLE;
162
163 CREATE FUNCTION gin_compare_prefix_money(money, money, int2, internal)
164 RETURNS int4
165 AS 'MODULE_PATHNAME'
166 LANGUAGE C STRICT IMMUTABLE;
167
168 CREATE FUNCTION gin_extract_query_money(money, internal, int2, internal, internal)
169 RETURNS internal
170 AS 'MODULE_PATHNAME'
171 LANGUAGE C STRICT IMMUTABLE;
172
173 CREATE OPERATOR CLASS money_ops
174 DEFAULT FOR TYPE money USING gin
175 AS
176     OPERATOR        1       <,
177     OPERATOR        2       <=,
178     OPERATOR        3       =,
179     OPERATOR        4       >=,
180     OPERATOR        5       >,
181     FUNCTION        1       cash_cmp(money,money),
182     FUNCTION        2       gin_extract_value_money(money, internal),
183     FUNCTION        3       gin_extract_query_money(money, internal, int2, internal, internal),
184     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
185     FUNCTION        5       gin_compare_prefix_money(money,money,int2, internal),
186 STORAGE         money;
187
188 CREATE FUNCTION gin_extract_value_oid(oid, internal)
189 RETURNS internal
190 AS 'MODULE_PATHNAME'
191 LANGUAGE C STRICT IMMUTABLE;
192
193 CREATE FUNCTION gin_compare_prefix_oid(oid, oid, int2, internal)
194 RETURNS int4
195 AS 'MODULE_PATHNAME'
196 LANGUAGE C STRICT IMMUTABLE;
197
198 CREATE FUNCTION gin_extract_query_oid(oid, internal, int2, internal, internal)
199 RETURNS internal
200 AS 'MODULE_PATHNAME'
201 LANGUAGE C STRICT IMMUTABLE;
202
203 CREATE OPERATOR CLASS oid_ops
204 DEFAULT FOR TYPE oid USING gin
205 AS
206     OPERATOR        1       <,
207     OPERATOR        2       <=,
208     OPERATOR        3       =,
209     OPERATOR        4       >=,
210     OPERATOR        5       >,
211     FUNCTION        1       btoidcmp(oid,oid),
212     FUNCTION        2       gin_extract_value_oid(oid, internal),
213     FUNCTION        3       gin_extract_query_oid(oid, internal, int2, internal, internal),
214     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
215     FUNCTION        5       gin_compare_prefix_oid(oid,oid,int2, internal),
216 STORAGE         oid;
217
218 CREATE FUNCTION gin_extract_value_timestamp(timestamp, internal)
219 RETURNS internal
220 AS 'MODULE_PATHNAME'
221 LANGUAGE C STRICT IMMUTABLE;
222
223 CREATE FUNCTION gin_compare_prefix_timestamp(timestamp, timestamp, int2, internal)
224 RETURNS int4
225 AS 'MODULE_PATHNAME'
226 LANGUAGE C STRICT IMMUTABLE;
227
228 CREATE FUNCTION gin_extract_query_timestamp(timestamp, internal, int2, internal, internal)
229 RETURNS internal
230 AS 'MODULE_PATHNAME'
231 LANGUAGE C STRICT IMMUTABLE;
232
233 CREATE OPERATOR CLASS timestamp_ops
234 DEFAULT FOR TYPE timestamp USING gin
235 AS
236     OPERATOR        1       <,
237     OPERATOR        2       <=,
238     OPERATOR        3       =,
239     OPERATOR        4       >=,
240     OPERATOR        5       >,
241     FUNCTION        1       timestamp_cmp(timestamp,timestamp),
242     FUNCTION        2       gin_extract_value_timestamp(timestamp, internal),
243     FUNCTION        3       gin_extract_query_timestamp(timestamp, internal, int2, internal, internal),
244     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
245     FUNCTION        5       gin_compare_prefix_timestamp(timestamp,timestamp,int2, internal),
246 STORAGE         timestamp;
247
248 CREATE FUNCTION gin_extract_value_timestamptz(timestamptz, internal)
249 RETURNS internal
250 AS 'MODULE_PATHNAME'
251 LANGUAGE C STRICT IMMUTABLE;
252
253 CREATE FUNCTION gin_compare_prefix_timestamptz(timestamptz, timestamptz, int2, internal)
254 RETURNS int4
255 AS 'MODULE_PATHNAME'
256 LANGUAGE C STRICT IMMUTABLE;
257
258 CREATE FUNCTION gin_extract_query_timestamptz(timestamptz, internal, int2, internal, internal)
259 RETURNS internal
260 AS 'MODULE_PATHNAME'
261 LANGUAGE C STRICT IMMUTABLE;
262
263 CREATE OPERATOR CLASS timestamptz_ops
264 DEFAULT FOR TYPE timestamptz USING gin
265 AS
266     OPERATOR        1       <,
267     OPERATOR        2       <=,
268     OPERATOR        3       =,
269     OPERATOR        4       >=,
270     OPERATOR        5       >,
271     FUNCTION        1       timestamptz_cmp(timestamptz,timestamptz),
272     FUNCTION        2       gin_extract_value_timestamptz(timestamptz, internal),
273     FUNCTION        3       gin_extract_query_timestamptz(timestamptz, internal, int2, internal, internal),
274     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
275     FUNCTION        5       gin_compare_prefix_timestamptz(timestamptz,timestamptz,int2, internal),
276 STORAGE         timestamptz;
277
278 CREATE FUNCTION gin_extract_value_time(time, internal)
279 RETURNS internal
280 AS 'MODULE_PATHNAME'
281 LANGUAGE C STRICT IMMUTABLE;
282
283 CREATE FUNCTION gin_compare_prefix_time(time, time, int2, internal)
284 RETURNS int4
285 AS 'MODULE_PATHNAME'
286 LANGUAGE C STRICT IMMUTABLE;
287
288 CREATE FUNCTION gin_extract_query_time(time, internal, int2, internal, internal)
289 RETURNS internal
290 AS 'MODULE_PATHNAME'
291 LANGUAGE C STRICT IMMUTABLE;
292
293 CREATE OPERATOR CLASS time_ops
294 DEFAULT FOR TYPE time USING gin
295 AS
296     OPERATOR        1       <,
297     OPERATOR        2       <=,
298     OPERATOR        3       =,
299     OPERATOR        4       >=,
300     OPERATOR        5       >,
301     FUNCTION        1       time_cmp(time,time),
302     FUNCTION        2       gin_extract_value_time(time, internal),
303     FUNCTION        3       gin_extract_query_time(time, internal, int2, internal, internal),
304     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
305     FUNCTION        5       gin_compare_prefix_time(time,time,int2, internal),
306 STORAGE         time;
307
308 CREATE FUNCTION gin_extract_value_timetz(timetz, internal)
309 RETURNS internal
310 AS 'MODULE_PATHNAME'
311 LANGUAGE C STRICT IMMUTABLE;
312
313 CREATE FUNCTION gin_compare_prefix_timetz(timetz, timetz, int2, internal)
314 RETURNS int4
315 AS 'MODULE_PATHNAME'
316 LANGUAGE C STRICT IMMUTABLE;
317
318 CREATE FUNCTION gin_extract_query_timetz(timetz, internal, int2, internal, internal)
319 RETURNS internal
320 AS 'MODULE_PATHNAME'
321 LANGUAGE C STRICT IMMUTABLE;
322
323 CREATE OPERATOR CLASS timetz_ops
324 DEFAULT FOR TYPE timetz USING gin
325 AS
326     OPERATOR        1       <,
327     OPERATOR        2       <=,
328     OPERATOR        3       =,
329     OPERATOR        4       >=,
330     OPERATOR        5       >,
331     FUNCTION        1       timetz_cmp(timetz,timetz),
332     FUNCTION        2       gin_extract_value_timetz(timetz, internal),
333     FUNCTION        3       gin_extract_query_timetz(timetz, internal, int2, internal, internal),
334     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
335     FUNCTION        5       gin_compare_prefix_timetz(timetz,timetz,int2, internal),
336 STORAGE         timetz;
337
338 CREATE FUNCTION gin_extract_value_date(date, internal)
339 RETURNS internal
340 AS 'MODULE_PATHNAME'
341 LANGUAGE C STRICT IMMUTABLE;
342
343 CREATE FUNCTION gin_compare_prefix_date(date, date, int2, internal)
344 RETURNS int4
345 AS 'MODULE_PATHNAME'
346 LANGUAGE C STRICT IMMUTABLE;
347
348 CREATE FUNCTION gin_extract_query_date(date, internal, int2, internal, internal)
349 RETURNS internal
350 AS 'MODULE_PATHNAME'
351 LANGUAGE C STRICT IMMUTABLE;
352
353 CREATE OPERATOR CLASS date_ops
354 DEFAULT FOR TYPE date USING gin
355 AS
356     OPERATOR        1       <,
357     OPERATOR        2       <=,
358     OPERATOR        3       =,
359     OPERATOR        4       >=,
360     OPERATOR        5       >,
361     FUNCTION        1       date_cmp(date,date),
362     FUNCTION        2       gin_extract_value_date(date, internal),
363     FUNCTION        3       gin_extract_query_date(date, internal, int2, internal, internal),
364     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
365     FUNCTION        5       gin_compare_prefix_date(date,date,int2, internal),
366 STORAGE         date;
367
368 CREATE FUNCTION gin_extract_value_interval(interval, internal)
369 RETURNS internal
370 AS 'MODULE_PATHNAME'
371 LANGUAGE C STRICT IMMUTABLE;
372
373 CREATE FUNCTION gin_compare_prefix_interval(interval, interval, int2, internal)
374 RETURNS int4
375 AS 'MODULE_PATHNAME'
376 LANGUAGE C STRICT IMMUTABLE;
377
378 CREATE FUNCTION gin_extract_query_interval(interval, internal, int2, internal, internal)
379 RETURNS internal
380 AS 'MODULE_PATHNAME'
381 LANGUAGE C STRICT IMMUTABLE;
382
383 CREATE OPERATOR CLASS interval_ops
384 DEFAULT FOR TYPE interval USING gin
385 AS
386     OPERATOR        1       <,
387     OPERATOR        2       <=,
388     OPERATOR        3       =,
389     OPERATOR        4       >=,
390     OPERATOR        5       >,
391     FUNCTION        1       interval_cmp(interval,interval),
392     FUNCTION        2       gin_extract_value_interval(interval, internal),
393     FUNCTION        3       gin_extract_query_interval(interval, internal, int2, internal, internal),
394     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
395     FUNCTION        5       gin_compare_prefix_interval(interval,interval,int2, internal),
396 STORAGE         interval;
397
398 CREATE FUNCTION gin_extract_value_macaddr(macaddr, internal)
399 RETURNS internal
400 AS 'MODULE_PATHNAME'
401 LANGUAGE C STRICT IMMUTABLE;
402
403 CREATE FUNCTION gin_compare_prefix_macaddr(macaddr, macaddr, int2, internal)
404 RETURNS int4
405 AS 'MODULE_PATHNAME'
406 LANGUAGE C STRICT IMMUTABLE;
407
408 CREATE FUNCTION gin_extract_query_macaddr(macaddr, internal, int2, internal, internal)
409 RETURNS internal
410 AS 'MODULE_PATHNAME'
411 LANGUAGE C STRICT IMMUTABLE;
412
413 CREATE OPERATOR CLASS macaddr_ops
414 DEFAULT FOR TYPE macaddr USING gin
415 AS
416     OPERATOR        1       <,
417     OPERATOR        2       <=,
418     OPERATOR        3       =,
419     OPERATOR        4       >=,
420     OPERATOR        5       >,
421     FUNCTION        1       macaddr_cmp(macaddr,macaddr),
422     FUNCTION        2       gin_extract_value_macaddr(macaddr, internal),
423     FUNCTION        3       gin_extract_query_macaddr(macaddr, internal, int2, internal, internal),
424     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
425     FUNCTION        5       gin_compare_prefix_macaddr(macaddr,macaddr,int2, internal),
426 STORAGE         macaddr;
427
428 CREATE FUNCTION gin_extract_value_inet(inet, internal)
429 RETURNS internal
430 AS 'MODULE_PATHNAME'
431 LANGUAGE C STRICT IMMUTABLE;
432
433 CREATE FUNCTION gin_compare_prefix_inet(inet, inet, int2, internal)
434 RETURNS int4
435 AS 'MODULE_PATHNAME'
436 LANGUAGE C STRICT IMMUTABLE;
437
438 CREATE FUNCTION gin_extract_query_inet(inet, internal, int2, internal, internal)
439 RETURNS internal
440 AS 'MODULE_PATHNAME'
441 LANGUAGE C STRICT IMMUTABLE;
442
443 CREATE OPERATOR CLASS inet_ops
444 DEFAULT FOR TYPE inet USING gin
445 AS
446     OPERATOR        1       <,
447     OPERATOR        2       <=,
448     OPERATOR        3       =,
449     OPERATOR        4       >=,
450     OPERATOR        5       >,
451     FUNCTION        1       network_cmp(inet,inet),
452     FUNCTION        2       gin_extract_value_inet(inet, internal),
453     FUNCTION        3       gin_extract_query_inet(inet, internal, int2, internal, internal),
454     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
455     FUNCTION        5       gin_compare_prefix_inet(inet,inet,int2, internal),
456 STORAGE         inet;
457
458 CREATE FUNCTION gin_extract_value_cidr(cidr, internal)
459 RETURNS internal
460 AS 'MODULE_PATHNAME'
461 LANGUAGE C STRICT IMMUTABLE;
462
463 CREATE FUNCTION gin_compare_prefix_cidr(cidr, cidr, int2, internal)
464 RETURNS int4
465 AS 'MODULE_PATHNAME'
466 LANGUAGE C STRICT IMMUTABLE;
467
468 CREATE FUNCTION gin_extract_query_cidr(cidr, internal, int2, internal, internal)
469 RETURNS internal
470 AS 'MODULE_PATHNAME'
471 LANGUAGE C STRICT IMMUTABLE;
472
473 CREATE OPERATOR CLASS cidr_ops
474 DEFAULT FOR TYPE cidr USING gin
475 AS
476     OPERATOR        1       <(inet,inet),
477     OPERATOR        2       <=(inet,inet),
478     OPERATOR        3       =(inet,inet),
479     OPERATOR        4       >=(inet,inet),
480     OPERATOR        5       >(inet,inet),
481     FUNCTION        1       network_cmp(inet,inet),
482     FUNCTION        2       gin_extract_value_cidr(cidr, internal),
483     FUNCTION        3       gin_extract_query_cidr(cidr, internal, int2, internal, internal),
484     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
485     FUNCTION        5       gin_compare_prefix_cidr(cidr,cidr,int2, internal),
486 STORAGE         cidr;
487
488 CREATE FUNCTION gin_extract_value_text(text, internal)
489 RETURNS internal
490 AS 'MODULE_PATHNAME'
491 LANGUAGE C STRICT IMMUTABLE;
492
493 CREATE FUNCTION gin_compare_prefix_text(text, text, int2, internal)
494 RETURNS int4
495 AS 'MODULE_PATHNAME'
496 LANGUAGE C STRICT IMMUTABLE;
497
498 CREATE FUNCTION gin_extract_query_text(text, internal, int2, internal, internal)
499 RETURNS internal
500 AS 'MODULE_PATHNAME'
501 LANGUAGE C STRICT IMMUTABLE;
502
503 CREATE OPERATOR CLASS text_ops
504 DEFAULT FOR TYPE text USING gin
505 AS
506     OPERATOR        1       <,
507     OPERATOR        2       <=,
508     OPERATOR        3       =,
509     OPERATOR        4       >=,
510     OPERATOR        5       >,
511     FUNCTION        1       bttextcmp(text,text),
512     FUNCTION        2       gin_extract_value_text(text, internal),
513     FUNCTION        3       gin_extract_query_text(text, internal, int2, internal, internal),
514     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
515     FUNCTION        5       gin_compare_prefix_text(text,text,int2, internal),
516 STORAGE         text;
517
518 CREATE OPERATOR CLASS varchar_ops
519 DEFAULT FOR TYPE varchar USING gin
520 AS
521     OPERATOR        1       <(text,text),
522     OPERATOR        2       <=(text,text),
523     OPERATOR        3       =(text,text),
524     OPERATOR        4       >=(text,text),
525     OPERATOR        5       >(text,text),
526     FUNCTION        1       bttextcmp(text,text),
527     FUNCTION        2       gin_extract_value_text(text, internal),
528     FUNCTION        3       gin_extract_query_text(text, internal, int2, internal, internal),
529     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
530     FUNCTION        5       gin_compare_prefix_text(text,text,int2, internal),
531 STORAGE         varchar;
532
533 CREATE FUNCTION gin_extract_value_char("char", internal)
534 RETURNS internal
535 AS 'MODULE_PATHNAME'
536 LANGUAGE C STRICT IMMUTABLE;
537
538 CREATE FUNCTION gin_compare_prefix_char("char", "char", int2, internal)
539 RETURNS int4
540 AS 'MODULE_PATHNAME'
541 LANGUAGE C STRICT IMMUTABLE;
542
543 CREATE FUNCTION gin_extract_query_char("char", internal, int2, internal, internal)
544 RETURNS internal
545 AS 'MODULE_PATHNAME'
546 LANGUAGE C STRICT IMMUTABLE;
547
548 CREATE OPERATOR CLASS char_ops
549 DEFAULT FOR TYPE "char" USING gin
550 AS
551     OPERATOR        1       <,
552     OPERATOR        2       <=,
553     OPERATOR        3       =,
554     OPERATOR        4       >=,
555     OPERATOR        5       >,
556     FUNCTION        1       btcharcmp("char","char"),
557     FUNCTION        2       gin_extract_value_char("char", internal),
558     FUNCTION        3       gin_extract_query_char("char", internal, int2, internal, internal),
559     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
560     FUNCTION        5       gin_compare_prefix_char("char","char",int2, internal),
561 STORAGE         "char";
562
563 CREATE FUNCTION gin_extract_value_bytea(bytea, internal)
564 RETURNS internal
565 AS 'MODULE_PATHNAME'
566 LANGUAGE C STRICT IMMUTABLE;
567
568 CREATE FUNCTION gin_compare_prefix_bytea(bytea, bytea, int2, internal)
569 RETURNS int4
570 AS 'MODULE_PATHNAME'
571 LANGUAGE C STRICT IMMUTABLE;
572
573 CREATE FUNCTION gin_extract_query_bytea(bytea, internal, int2, internal, internal)
574 RETURNS internal
575 AS 'MODULE_PATHNAME'
576 LANGUAGE C STRICT IMMUTABLE;
577
578 CREATE OPERATOR CLASS bytea_ops
579 DEFAULT FOR TYPE bytea USING gin
580 AS
581     OPERATOR        1       <,
582     OPERATOR        2       <=,
583     OPERATOR        3       =,
584     OPERATOR        4       >=,
585     OPERATOR        5       >,
586     FUNCTION        1       byteacmp(bytea,bytea),
587     FUNCTION        2       gin_extract_value_bytea(bytea, internal),
588     FUNCTION        3       gin_extract_query_bytea(bytea, internal, int2, internal, internal),
589     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
590     FUNCTION        5       gin_compare_prefix_bytea(bytea,bytea,int2, internal),
591 STORAGE         bytea;
592
593 CREATE FUNCTION gin_extract_value_bit(bit, internal)
594 RETURNS internal
595 AS 'MODULE_PATHNAME'
596 LANGUAGE C STRICT IMMUTABLE;
597
598 CREATE FUNCTION gin_compare_prefix_bit(bit, bit, int2, internal)
599 RETURNS int4
600 AS 'MODULE_PATHNAME'
601 LANGUAGE C STRICT IMMUTABLE;
602
603 CREATE FUNCTION gin_extract_query_bit(bit, internal, int2, internal, internal)
604 RETURNS internal
605 AS 'MODULE_PATHNAME'
606 LANGUAGE C STRICT IMMUTABLE;
607
608 CREATE OPERATOR CLASS bit_ops
609 DEFAULT FOR TYPE bit USING gin
610 AS
611     OPERATOR        1       <,
612     OPERATOR        2       <=,
613     OPERATOR        3       =,
614     OPERATOR        4       >=,
615     OPERATOR        5       >,
616     FUNCTION        1       bitcmp(bit,bit),
617     FUNCTION        2       gin_extract_value_bit(bit, internal),
618     FUNCTION        3       gin_extract_query_bit(bit, internal, int2, internal, internal),
619     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
620     FUNCTION        5       gin_compare_prefix_bit(bit,bit,int2, internal),
621 STORAGE         bit;
622
623 CREATE FUNCTION gin_extract_value_varbit(varbit, internal)
624 RETURNS internal
625 AS 'MODULE_PATHNAME'
626 LANGUAGE C STRICT IMMUTABLE;
627
628 CREATE FUNCTION gin_compare_prefix_varbit(varbit, varbit, int2, internal)
629 RETURNS int4
630 AS 'MODULE_PATHNAME'
631 LANGUAGE C STRICT IMMUTABLE;
632
633 CREATE FUNCTION gin_extract_query_varbit(varbit, internal, int2, internal, internal)
634 RETURNS internal
635 AS 'MODULE_PATHNAME'
636 LANGUAGE C STRICT IMMUTABLE;
637
638 CREATE OPERATOR CLASS varbit_ops
639 DEFAULT FOR TYPE varbit USING gin
640 AS
641     OPERATOR        1       <,
642     OPERATOR        2       <=,
643     OPERATOR        3       =,
644     OPERATOR        4       >=,
645     OPERATOR        5       >,
646     FUNCTION        1       varbitcmp(varbit,varbit),
647     FUNCTION        2       gin_extract_value_varbit(varbit, internal),
648     FUNCTION        3       gin_extract_query_varbit(varbit, internal, int2, internal, internal),
649     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
650     FUNCTION        5       gin_compare_prefix_varbit(varbit,varbit,int2, internal),
651 STORAGE         varbit;
652
653 CREATE FUNCTION gin_extract_value_numeric(numeric, internal)
654 RETURNS internal
655 AS 'MODULE_PATHNAME'
656 LANGUAGE C STRICT IMMUTABLE;
657
658 CREATE FUNCTION gin_compare_prefix_numeric(numeric, numeric, int2, internal)
659 RETURNS int4
660 AS 'MODULE_PATHNAME'
661 LANGUAGE C STRICT IMMUTABLE;
662
663 CREATE FUNCTION gin_extract_query_numeric(numeric, internal, int2, internal, internal)
664 RETURNS internal
665 AS 'MODULE_PATHNAME'
666 LANGUAGE C STRICT IMMUTABLE;
667
668 CREATE FUNCTION gin_numeric_cmp(numeric, numeric)
669 RETURNS int4
670 AS 'MODULE_PATHNAME'
671 LANGUAGE C STRICT IMMUTABLE;
672
673 CREATE OPERATOR CLASS numeric_ops
674 DEFAULT FOR TYPE numeric USING gin
675 AS
676     OPERATOR        1       <,
677     OPERATOR        2       <=,
678     OPERATOR        3       =,
679     OPERATOR        4       >=,
680     OPERATOR        5       >,
681     FUNCTION        1       gin_numeric_cmp(numeric,numeric),
682     FUNCTION        2       gin_extract_value_numeric(numeric, internal),
683     FUNCTION        3       gin_extract_query_numeric(numeric, internal, int2, internal, internal),
684     FUNCTION        4       gin_btree_consistent(internal, int2, anyelement, int4, internal, internal),
685     FUNCTION        5       gin_compare_prefix_numeric(numeric,numeric,int2, internal),
686 STORAGE         numeric;