1/* contrib/btree_gist/btree_gist--unpackaged--1.0.sql */
2
3-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4\echo Use "CREATE EXTENSION btree_gist FROM unpackaged" to load this file. \quit
5
6ALTER EXTENSION btree_gist ADD type gbtreekey4;
7ALTER EXTENSION btree_gist ADD function gbtreekey4_in(cstring);
8ALTER EXTENSION btree_gist ADD function gbtreekey4_out(gbtreekey4);
9ALTER EXTENSION btree_gist ADD type gbtreekey8;
10ALTER EXTENSION btree_gist ADD function gbtreekey8_in(cstring);
11ALTER EXTENSION btree_gist ADD function gbtreekey8_out(gbtreekey8);
12ALTER EXTENSION btree_gist ADD type gbtreekey16;
13ALTER EXTENSION btree_gist ADD function gbtreekey16_in(cstring);
14ALTER EXTENSION btree_gist ADD function gbtreekey16_out(gbtreekey16);
15ALTER EXTENSION btree_gist ADD type gbtreekey32;
16ALTER EXTENSION btree_gist ADD function gbtreekey32_in(cstring);
17ALTER EXTENSION btree_gist ADD function gbtreekey32_out(gbtreekey32);
18ALTER EXTENSION btree_gist ADD type gbtreekey_var;
19ALTER EXTENSION btree_gist ADD function gbtreekey_var_in(cstring);
20ALTER EXTENSION btree_gist ADD function gbtreekey_var_out(gbtreekey_var);
21ALTER EXTENSION btree_gist ADD function gbt_oid_consistent(internal,oid,smallint,oid,internal);
22ALTER EXTENSION btree_gist ADD function gbt_oid_compress(internal);
23ALTER EXTENSION btree_gist ADD function gbt_decompress(internal);
24ALTER EXTENSION btree_gist ADD function gbt_var_decompress(internal);
25ALTER EXTENSION btree_gist ADD function gbt_oid_penalty(internal,internal,internal);
26ALTER EXTENSION btree_gist ADD function gbt_oid_picksplit(internal,internal);
27ALTER EXTENSION btree_gist ADD function gbt_oid_union(bytea,internal);
28ALTER EXTENSION btree_gist ADD function gbt_oid_same(internal,internal,internal);
29ALTER EXTENSION btree_gist ADD operator family gist_oid_ops using gist;
30ALTER EXTENSION btree_gist ADD operator class gist_oid_ops using gist;
31ALTER EXTENSION btree_gist ADD function gbt_int2_consistent(internal,smallint,smallint,oid,internal);
32ALTER EXTENSION btree_gist ADD function gbt_int2_compress(internal);
33ALTER EXTENSION btree_gist ADD function gbt_int2_penalty(internal,internal,internal);
34ALTER EXTENSION btree_gist ADD function gbt_int2_picksplit(internal,internal);
35ALTER EXTENSION btree_gist ADD function gbt_int2_union(bytea,internal);
36ALTER EXTENSION btree_gist ADD function gbt_int2_same(internal,internal,internal);
37ALTER EXTENSION btree_gist ADD operator family gist_int2_ops using gist;
38ALTER EXTENSION btree_gist ADD operator class gist_int2_ops using gist;
39ALTER EXTENSION btree_gist ADD function gbt_int4_consistent(internal,integer,smallint,oid,internal);
40ALTER EXTENSION btree_gist ADD function gbt_int4_compress(internal);
41ALTER EXTENSION btree_gist ADD function gbt_int4_penalty(internal,internal,internal);
42ALTER EXTENSION btree_gist ADD function gbt_int4_picksplit(internal,internal);
43ALTER EXTENSION btree_gist ADD function gbt_int4_union(bytea,internal);
44ALTER EXTENSION btree_gist ADD function gbt_int4_same(internal,internal,internal);
45ALTER EXTENSION btree_gist ADD operator family gist_int4_ops using gist;
46ALTER EXTENSION btree_gist ADD operator class gist_int4_ops using gist;
47ALTER EXTENSION btree_gist ADD function gbt_int8_consistent(internal,bigint,smallint,oid,internal);
48ALTER EXTENSION btree_gist ADD function gbt_int8_compress(internal);
49ALTER EXTENSION btree_gist ADD function gbt_int8_penalty(internal,internal,internal);
50ALTER EXTENSION btree_gist ADD function gbt_int8_picksplit(internal,internal);
51ALTER EXTENSION btree_gist ADD function gbt_int8_union(bytea,internal);
52ALTER EXTENSION btree_gist ADD function gbt_int8_same(internal,internal,internal);
53ALTER EXTENSION btree_gist ADD operator family gist_int8_ops using gist;
54ALTER EXTENSION btree_gist ADD operator class gist_int8_ops using gist;
55ALTER EXTENSION btree_gist ADD function gbt_float4_consistent(internal,real,smallint,oid,internal);
56ALTER EXTENSION btree_gist ADD function gbt_float4_compress(internal);
57ALTER EXTENSION btree_gist ADD function gbt_float4_penalty(internal,internal,internal);
58ALTER EXTENSION btree_gist ADD function gbt_float4_picksplit(internal,internal);
59ALTER EXTENSION btree_gist ADD function gbt_float4_union(bytea,internal);
60ALTER EXTENSION btree_gist ADD function gbt_float4_same(internal,internal,internal);
61ALTER EXTENSION btree_gist ADD operator family gist_float4_ops using gist;
62ALTER EXTENSION btree_gist ADD operator class gist_float4_ops using gist;
63ALTER EXTENSION btree_gist ADD function gbt_float8_consistent(internal,double precision,smallint,oid,internal);
64ALTER EXTENSION btree_gist ADD function gbt_float8_compress(internal);
65ALTER EXTENSION btree_gist ADD function gbt_float8_penalty(internal,internal,internal);
66ALTER EXTENSION btree_gist ADD function gbt_float8_picksplit(internal,internal);
67ALTER EXTENSION btree_gist ADD function gbt_float8_union(bytea,internal);
68ALTER EXTENSION btree_gist ADD function gbt_float8_same(internal,internal,internal);
69ALTER EXTENSION btree_gist ADD operator family gist_float8_ops using gist;
70ALTER EXTENSION btree_gist ADD operator class gist_float8_ops using gist;
71ALTER EXTENSION btree_gist ADD function gbt_ts_consistent(internal,timestamp without time zone,smallint,oid,internal);
72ALTER EXTENSION btree_gist ADD function gbt_tstz_consistent(internal,timestamp with time zone,smallint,oid,internal);
73ALTER EXTENSION btree_gist ADD function gbt_ts_compress(internal);
74ALTER EXTENSION btree_gist ADD function gbt_tstz_compress(internal);
75ALTER EXTENSION btree_gist ADD function gbt_ts_penalty(internal,internal,internal);
76ALTER EXTENSION btree_gist ADD function gbt_ts_picksplit(internal,internal);
77ALTER EXTENSION btree_gist ADD function gbt_ts_union(bytea,internal);
78ALTER EXTENSION btree_gist ADD function gbt_ts_same(internal,internal,internal);
79ALTER EXTENSION btree_gist ADD operator family gist_timestamp_ops using gist;
80ALTER EXTENSION btree_gist ADD operator class gist_timestamp_ops using gist;
81ALTER EXTENSION btree_gist ADD operator family gist_timestamptz_ops using gist;
82ALTER EXTENSION btree_gist ADD operator class gist_timestamptz_ops using gist;
83ALTER EXTENSION btree_gist ADD function gbt_time_consistent(internal,time without time zone,smallint,oid,internal);
84ALTER EXTENSION btree_gist ADD function gbt_timetz_consistent(internal,time with time zone,smallint,oid,internal);
85ALTER EXTENSION btree_gist ADD function gbt_time_compress(internal);
86ALTER EXTENSION btree_gist ADD function gbt_timetz_compress(internal);
87ALTER EXTENSION btree_gist ADD function gbt_time_penalty(internal,internal,internal);
88ALTER EXTENSION btree_gist ADD function gbt_time_picksplit(internal,internal);
89ALTER EXTENSION btree_gist ADD function gbt_time_union(bytea,internal);
90ALTER EXTENSION btree_gist ADD function gbt_time_same(internal,internal,internal);
91ALTER EXTENSION btree_gist ADD operator family gist_time_ops using gist;
92ALTER EXTENSION btree_gist ADD operator class gist_time_ops using gist;
93ALTER EXTENSION btree_gist ADD operator family gist_timetz_ops using gist;
94ALTER EXTENSION btree_gist ADD operator class gist_timetz_ops using gist;
95ALTER EXTENSION btree_gist ADD function gbt_date_consistent(internal,date,smallint,oid,internal);
96ALTER EXTENSION btree_gist ADD function gbt_date_compress(internal);
97ALTER EXTENSION btree_gist ADD function gbt_date_penalty(internal,internal,internal);
98ALTER EXTENSION btree_gist ADD function gbt_date_picksplit(internal,internal);
99ALTER EXTENSION btree_gist ADD function gbt_date_union(bytea,internal);
100ALTER EXTENSION btree_gist ADD function gbt_date_same(internal,internal,internal);
101ALTER EXTENSION btree_gist ADD operator family gist_date_ops using gist;
102ALTER EXTENSION btree_gist ADD operator class gist_date_ops using gist;
103ALTER EXTENSION btree_gist ADD function gbt_intv_consistent(internal,interval,smallint,oid,internal);
104ALTER EXTENSION btree_gist ADD function gbt_intv_compress(internal);
105ALTER EXTENSION btree_gist ADD function gbt_intv_decompress(internal);
106ALTER EXTENSION btree_gist ADD function gbt_intv_penalty(internal,internal,internal);
107ALTER EXTENSION btree_gist ADD function gbt_intv_picksplit(internal,internal);
108ALTER EXTENSION btree_gist ADD function gbt_intv_union(bytea,internal);
109ALTER EXTENSION btree_gist ADD function gbt_intv_same(internal,internal,internal);
110ALTER EXTENSION btree_gist ADD operator family gist_interval_ops using gist;
111ALTER EXTENSION btree_gist ADD operator class gist_interval_ops using gist;
112ALTER EXTENSION btree_gist ADD function gbt_cash_consistent(internal,money,smallint,oid,internal);
113ALTER EXTENSION btree_gist ADD function gbt_cash_compress(internal);
114ALTER EXTENSION btree_gist ADD function gbt_cash_penalty(internal,internal,internal);
115ALTER EXTENSION btree_gist ADD function gbt_cash_picksplit(internal,internal);
116ALTER EXTENSION btree_gist ADD function gbt_cash_union(bytea,internal);
117ALTER EXTENSION btree_gist ADD function gbt_cash_same(internal,internal,internal);
118ALTER EXTENSION btree_gist ADD operator family gist_cash_ops using gist;
119ALTER EXTENSION btree_gist ADD operator class gist_cash_ops using gist;
120ALTER EXTENSION btree_gist ADD function gbt_macad_consistent(internal,macaddr,smallint,oid,internal);
121ALTER EXTENSION btree_gist ADD function gbt_macad_compress(internal);
122ALTER EXTENSION btree_gist ADD function gbt_macad_penalty(internal,internal,internal);
123ALTER EXTENSION btree_gist ADD function gbt_macad_picksplit(internal,internal);
124ALTER EXTENSION btree_gist ADD function gbt_macad_union(bytea,internal);
125ALTER EXTENSION btree_gist ADD function gbt_macad_same(internal,internal,internal);
126ALTER EXTENSION btree_gist ADD operator family gist_macaddr_ops using gist;
127ALTER EXTENSION btree_gist ADD operator class gist_macaddr_ops using gist;
128ALTER EXTENSION btree_gist ADD function gbt_text_consistent(internal,text,smallint,oid,internal);
129ALTER EXTENSION btree_gist ADD function gbt_bpchar_consistent(internal,character,smallint,oid,internal);
130ALTER EXTENSION btree_gist ADD function gbt_text_compress(internal);
131ALTER EXTENSION btree_gist ADD function gbt_bpchar_compress(internal);
132ALTER EXTENSION btree_gist ADD function gbt_text_penalty(internal,internal,internal);
133ALTER EXTENSION btree_gist ADD function gbt_text_picksplit(internal,internal);
134ALTER EXTENSION btree_gist ADD function gbt_text_union(bytea,internal);
135ALTER EXTENSION btree_gist ADD function gbt_text_same(internal,internal,internal);
136ALTER EXTENSION btree_gist ADD operator family gist_text_ops using gist;
137ALTER EXTENSION btree_gist ADD operator class gist_text_ops using gist;
138ALTER EXTENSION btree_gist ADD operator family gist_bpchar_ops using gist;
139ALTER EXTENSION btree_gist ADD operator class gist_bpchar_ops using gist;
140ALTER EXTENSION btree_gist ADD function gbt_bytea_consistent(internal,bytea,smallint,oid,internal);
141ALTER EXTENSION btree_gist ADD function gbt_bytea_compress(internal);
142ALTER EXTENSION btree_gist ADD function gbt_bytea_penalty(internal,internal,internal);
143ALTER EXTENSION btree_gist ADD function gbt_bytea_picksplit(internal,internal);
144ALTER EXTENSION btree_gist ADD function gbt_bytea_union(bytea,internal);
145ALTER EXTENSION btree_gist ADD function gbt_bytea_same(internal,internal,internal);
146ALTER EXTENSION btree_gist ADD operator family gist_bytea_ops using gist;
147ALTER EXTENSION btree_gist ADD operator class gist_bytea_ops using gist;
148ALTER EXTENSION btree_gist ADD function gbt_numeric_consistent(internal,numeric,smallint,oid,internal);
149ALTER EXTENSION btree_gist ADD function gbt_numeric_compress(internal);
150ALTER EXTENSION btree_gist ADD function gbt_numeric_penalty(internal,internal,internal);
151ALTER EXTENSION btree_gist ADD function gbt_numeric_picksplit(internal,internal);
152ALTER EXTENSION btree_gist ADD function gbt_numeric_union(bytea,internal);
153ALTER EXTENSION btree_gist ADD function gbt_numeric_same(internal,internal,internal);
154ALTER EXTENSION btree_gist ADD operator family gist_numeric_ops using gist;
155ALTER EXTENSION btree_gist ADD operator class gist_numeric_ops using gist;
156ALTER EXTENSION btree_gist ADD function gbt_bit_consistent(internal,bit,smallint,oid,internal);
157ALTER EXTENSION btree_gist ADD function gbt_bit_compress(internal);
158ALTER EXTENSION btree_gist ADD function gbt_bit_penalty(internal,internal,internal);
159ALTER EXTENSION btree_gist ADD function gbt_bit_picksplit(internal,internal);
160ALTER EXTENSION btree_gist ADD function gbt_bit_union(bytea,internal);
161ALTER EXTENSION btree_gist ADD function gbt_bit_same(internal,internal,internal);
162ALTER EXTENSION btree_gist ADD operator family gist_bit_ops using gist;
163ALTER EXTENSION btree_gist ADD operator class gist_bit_ops using gist;
164ALTER EXTENSION btree_gist ADD operator family gist_vbit_ops using gist;
165ALTER EXTENSION btree_gist ADD operator class gist_vbit_ops using gist;
166ALTER EXTENSION btree_gist ADD function gbt_inet_consistent(internal,inet,smallint,oid,internal);
167ALTER EXTENSION btree_gist ADD function gbt_inet_compress(internal);
168ALTER EXTENSION btree_gist ADD function gbt_inet_penalty(internal,internal,internal);
169ALTER EXTENSION btree_gist ADD function gbt_inet_picksplit(internal,internal);
170ALTER EXTENSION btree_gist ADD function gbt_inet_union(bytea,internal);
171ALTER EXTENSION btree_gist ADD function gbt_inet_same(internal,internal,internal);
172ALTER EXTENSION btree_gist ADD operator family gist_inet_ops using gist;
173ALTER EXTENSION btree_gist ADD operator class gist_inet_ops using gist;
174ALTER EXTENSION btree_gist ADD operator family gist_cidr_ops using gist;
175ALTER EXTENSION btree_gist ADD operator class gist_cidr_ops using gist;
176
177
178-- Add functions and operators that are new in 9.1
179
180--distance operators
181
182CREATE FUNCTION cash_dist(money, money)
183RETURNS money
184AS 'MODULE_PATHNAME'
185LANGUAGE C IMMUTABLE STRICT;
186
187CREATE OPERATOR <-> (
188	LEFTARG = money,
189	RIGHTARG = money,
190	PROCEDURE = cash_dist,
191	COMMUTATOR = '<->'
192);
193
194CREATE FUNCTION date_dist(date, date)
195RETURNS int4
196AS 'MODULE_PATHNAME'
197LANGUAGE C IMMUTABLE STRICT;
198
199CREATE OPERATOR <-> (
200	LEFTARG = date,
201	RIGHTARG = date,
202	PROCEDURE = date_dist,
203	COMMUTATOR = '<->'
204);
205
206CREATE FUNCTION float4_dist(float4, float4)
207RETURNS float4
208AS 'MODULE_PATHNAME'
209LANGUAGE C IMMUTABLE STRICT;
210
211CREATE OPERATOR <-> (
212	LEFTARG = float4,
213	RIGHTARG = float4,
214	PROCEDURE = float4_dist,
215	COMMUTATOR = '<->'
216);
217
218CREATE FUNCTION float8_dist(float8, float8)
219RETURNS float8
220AS 'MODULE_PATHNAME'
221LANGUAGE C IMMUTABLE STRICT;
222
223CREATE OPERATOR <-> (
224	LEFTARG = float8,
225	RIGHTARG = float8,
226	PROCEDURE = float8_dist,
227	COMMUTATOR = '<->'
228);
229
230CREATE FUNCTION int2_dist(int2, int2)
231RETURNS int2
232AS 'MODULE_PATHNAME'
233LANGUAGE C IMMUTABLE STRICT;
234
235CREATE OPERATOR <-> (
236	LEFTARG = int2,
237	RIGHTARG = int2,
238	PROCEDURE = int2_dist,
239	COMMUTATOR = '<->'
240);
241
242CREATE FUNCTION int4_dist(int4, int4)
243RETURNS int4
244AS 'MODULE_PATHNAME'
245LANGUAGE C IMMUTABLE STRICT;
246
247CREATE OPERATOR <-> (
248	LEFTARG = int4,
249	RIGHTARG = int4,
250	PROCEDURE = int4_dist,
251	COMMUTATOR = '<->'
252);
253
254CREATE FUNCTION int8_dist(int8, int8)
255RETURNS int8
256AS 'MODULE_PATHNAME'
257LANGUAGE C IMMUTABLE STRICT;
258
259CREATE OPERATOR <-> (
260	LEFTARG = int8,
261	RIGHTARG = int8,
262	PROCEDURE = int8_dist,
263	COMMUTATOR = '<->'
264);
265
266CREATE FUNCTION interval_dist(interval, interval)
267RETURNS interval
268AS 'MODULE_PATHNAME'
269LANGUAGE C IMMUTABLE STRICT;
270
271CREATE OPERATOR <-> (
272	LEFTARG = interval,
273	RIGHTARG = interval,
274	PROCEDURE = interval_dist,
275	COMMUTATOR = '<->'
276);
277
278CREATE FUNCTION oid_dist(oid, oid)
279RETURNS oid
280AS 'MODULE_PATHNAME'
281LANGUAGE C IMMUTABLE STRICT;
282
283CREATE OPERATOR <-> (
284	LEFTARG = oid,
285	RIGHTARG = oid,
286	PROCEDURE = oid_dist,
287	COMMUTATOR = '<->'
288);
289
290CREATE FUNCTION time_dist(time, time)
291RETURNS interval
292AS 'MODULE_PATHNAME'
293LANGUAGE C IMMUTABLE STRICT;
294
295CREATE OPERATOR <-> (
296	LEFTARG = time,
297	RIGHTARG = time,
298	PROCEDURE = time_dist,
299	COMMUTATOR = '<->'
300);
301
302CREATE FUNCTION ts_dist(timestamp, timestamp)
303RETURNS interval
304AS 'MODULE_PATHNAME'
305LANGUAGE C IMMUTABLE STRICT;
306
307CREATE OPERATOR <-> (
308	LEFTARG = timestamp,
309	RIGHTARG = timestamp,
310	PROCEDURE = ts_dist,
311	COMMUTATOR = '<->'
312);
313
314CREATE FUNCTION tstz_dist(timestamptz, timestamptz)
315RETURNS interval
316AS 'MODULE_PATHNAME'
317LANGUAGE C IMMUTABLE STRICT;
318
319CREATE OPERATOR <-> (
320	LEFTARG = timestamptz,
321	RIGHTARG = timestamptz,
322	PROCEDURE = tstz_dist,
323	COMMUTATOR = '<->'
324);
325
326-- Support functions for distance operators
327
328CREATE FUNCTION gbt_oid_distance(internal,oid,int2,oid)
329RETURNS float8
330AS 'MODULE_PATHNAME'
331LANGUAGE C IMMUTABLE STRICT;
332
333CREATE FUNCTION gbt_int2_distance(internal,int2,int2,oid)
334RETURNS float8
335AS 'MODULE_PATHNAME'
336LANGUAGE C IMMUTABLE STRICT;
337
338CREATE FUNCTION gbt_int4_distance(internal,int4,int2,oid)
339RETURNS float8
340AS 'MODULE_PATHNAME'
341LANGUAGE C IMMUTABLE STRICT;
342
343CREATE FUNCTION gbt_int8_distance(internal,int8,int2,oid)
344RETURNS float8
345AS 'MODULE_PATHNAME'
346LANGUAGE C IMMUTABLE STRICT;
347
348CREATE FUNCTION gbt_float4_distance(internal,float4,int2,oid)
349RETURNS float8
350AS 'MODULE_PATHNAME'
351LANGUAGE C IMMUTABLE STRICT;
352
353CREATE FUNCTION gbt_float8_distance(internal,float8,int2,oid)
354RETURNS float8
355AS 'MODULE_PATHNAME'
356LANGUAGE C IMMUTABLE STRICT;
357
358CREATE FUNCTION gbt_ts_distance(internal,timestamp,int2,oid)
359RETURNS float8
360AS 'MODULE_PATHNAME'
361LANGUAGE C IMMUTABLE STRICT;
362
363CREATE FUNCTION gbt_tstz_distance(internal,timestamptz,int2,oid)
364RETURNS float8
365AS 'MODULE_PATHNAME'
366LANGUAGE C IMMUTABLE STRICT;
367
368CREATE FUNCTION gbt_time_distance(internal,time,int2,oid)
369RETURNS float8
370AS 'MODULE_PATHNAME'
371LANGUAGE C IMMUTABLE STRICT;
372
373CREATE FUNCTION gbt_date_distance(internal,date,int2,oid)
374RETURNS float8
375AS 'MODULE_PATHNAME'
376LANGUAGE C IMMUTABLE STRICT;
377
378CREATE FUNCTION gbt_intv_distance(internal,interval,int2,oid)
379RETURNS float8
380AS 'MODULE_PATHNAME'
381LANGUAGE C IMMUTABLE STRICT;
382
383CREATE FUNCTION gbt_cash_distance(internal,money,int2,oid)
384RETURNS float8
385AS 'MODULE_PATHNAME'
386LANGUAGE C IMMUTABLE STRICT;
387
388
389-- Add new-in-9.1 stuff to the operator classes.
390
391ALTER OPERATOR FAMILY gist_oid_ops USING gist ADD
392	OPERATOR	6	<> (oid, oid) ,
393	OPERATOR	15	<-> (oid, oid) FOR ORDER BY pg_catalog.oid_ops ,
394	FUNCTION	8 (oid, oid) gbt_oid_distance (internal, oid, int2, oid) ;
395
396ALTER OPERATOR FAMILY gist_int2_ops USING gist ADD
397	OPERATOR	6	<> (int2, int2) ,
398	OPERATOR	15	<-> (int2, int2) FOR ORDER BY pg_catalog.integer_ops ,
399	FUNCTION	8 (int2, int2) gbt_int2_distance (internal, int2, int2, oid) ;
400
401ALTER OPERATOR FAMILY gist_int4_ops USING gist ADD
402	OPERATOR	6	<> (int4, int4) ,
403	OPERATOR	15	<-> (int4, int4) FOR ORDER BY pg_catalog.integer_ops ,
404	FUNCTION	8 (int4, int4) gbt_int4_distance (internal, int4, int2, oid) ;
405
406ALTER OPERATOR FAMILY gist_int8_ops USING gist ADD
407	OPERATOR	6	<> (int8, int8) ,
408	OPERATOR	15	<-> (int8, int8) FOR ORDER BY pg_catalog.integer_ops ,
409	FUNCTION	8 (int8, int8) gbt_int8_distance (internal, int8, int2, oid) ;
410
411ALTER OPERATOR FAMILY gist_float4_ops USING gist ADD
412	OPERATOR	6	<> (float4, float4) ,
413	OPERATOR	15	<-> (float4, float4) FOR ORDER BY pg_catalog.float_ops ,
414	FUNCTION	8 (float4, float4) gbt_float4_distance (internal, float4, int2, oid) ;
415
416ALTER OPERATOR FAMILY gist_float8_ops USING gist ADD
417	OPERATOR	6	<> (float8, float8) ,
418	OPERATOR	15	<-> (float8, float8) FOR ORDER BY pg_catalog.float_ops ,
419	FUNCTION	8 (float8, float8) gbt_float8_distance (internal, float8, int2, oid) ;
420
421ALTER OPERATOR FAMILY gist_timestamp_ops USING gist ADD
422	OPERATOR	6	<> (timestamp, timestamp) ,
423	OPERATOR	15	<-> (timestamp, timestamp) FOR ORDER BY pg_catalog.interval_ops ,
424	FUNCTION	8 (timestamp, timestamp) gbt_ts_distance (internal, timestamp, int2, oid) ;
425
426ALTER OPERATOR FAMILY gist_timestamptz_ops USING gist ADD
427	OPERATOR	6	<> (timestamptz, timestamptz) ,
428	OPERATOR	15	<-> (timestamptz, timestamptz) FOR ORDER BY pg_catalog.interval_ops ,
429	FUNCTION	8 (timestamptz, timestamptz) gbt_tstz_distance (internal, timestamptz, int2, oid) ;
430
431ALTER OPERATOR FAMILY gist_time_ops USING gist ADD
432	OPERATOR	6	<> (time, time) ,
433	OPERATOR	15	<-> (time, time) FOR ORDER BY pg_catalog.interval_ops ,
434	FUNCTION	8 (time, time) gbt_time_distance (internal, time, int2, oid) ;
435
436ALTER OPERATOR FAMILY gist_timetz_ops USING gist ADD
437	OPERATOR	6	<> (timetz, timetz) ;
438
439ALTER OPERATOR FAMILY gist_date_ops USING gist ADD
440	OPERATOR	6	<> (date, date) ,
441	OPERATOR	15	<-> (date, date) FOR ORDER BY pg_catalog.integer_ops ,
442	FUNCTION	8 (date, date) gbt_date_distance (internal, date, int2, oid) ;
443
444ALTER OPERATOR FAMILY gist_interval_ops USING gist ADD
445	OPERATOR	6	<> (interval, interval) ,
446	OPERATOR	15	<-> (interval, interval) FOR ORDER BY pg_catalog.interval_ops ,
447	FUNCTION	8 (interval, interval) gbt_intv_distance (internal, interval, int2, oid) ;
448
449ALTER OPERATOR FAMILY gist_cash_ops USING gist ADD
450	OPERATOR	6	<> (money, money) ,
451	OPERATOR	15	<-> (money, money) FOR ORDER BY pg_catalog.money_ops ,
452	FUNCTION	8 (money, money) gbt_cash_distance (internal, money, int2, oid) ;
453
454ALTER OPERATOR FAMILY gist_macaddr_ops USING gist ADD
455	OPERATOR	6	<> (macaddr, macaddr) ;
456
457ALTER OPERATOR FAMILY gist_text_ops USING gist ADD
458	OPERATOR	6	<> (text, text) ;
459
460ALTER OPERATOR FAMILY gist_bpchar_ops USING gist ADD
461	OPERATOR	6	<> (bpchar, bpchar) ;
462
463ALTER OPERATOR FAMILY gist_bytea_ops USING gist ADD
464	OPERATOR	6	<> (bytea, bytea) ;
465
466ALTER OPERATOR FAMILY gist_numeric_ops USING gist ADD
467	OPERATOR	6	<> (numeric, numeric) ;
468
469ALTER OPERATOR FAMILY gist_bit_ops USING gist ADD
470	OPERATOR	6	<> (bit, bit) ;
471
472ALTER OPERATOR FAMILY gist_vbit_ops USING gist ADD
473	OPERATOR	6	<> (varbit, varbit) ;
474
475ALTER OPERATOR FAMILY gist_inet_ops USING gist ADD
476	OPERATOR	6	<>  (inet, inet) ;
477
478ALTER OPERATOR FAMILY gist_cidr_ops USING gist ADD
479	OPERATOR	6	<> (inet, inet) ;
480