|
| 1 | +/* contrib/btree_gist/btree_gist--1.3--1.4.sql*/ |
| 2 | + |
| 3 | +-- complain if script is sourced in psql, rather than via ALTER EXTENSION |
| 4 | +\echo Use"ALTER EXTENSION btree_gist UPDATE TO '1.4'" to load this file. \quit |
| 5 | + |
| 6 | +-- Add support for indexing macaddr8 columns |
| 7 | + |
| 8 | +-- define the GiST support methods |
| 9 | +CREATEFUNCTIONgbt_macad8_consistent(internal,macaddr8,int2,oid,internal) |
| 10 | +RETURNS bool |
| 11 | +AS'MODULE_PATHNAME' |
| 12 | +LANGUAGE C IMMUTABLE STRICT; |
| 13 | + |
| 14 | +CREATEFUNCTIONgbt_macad8_compress(internal) |
| 15 | +RETURNS internal |
| 16 | +AS'MODULE_PATHNAME' |
| 17 | +LANGUAGE C IMMUTABLE STRICT; |
| 18 | + |
| 19 | +CREATEFUNCTIONgbt_macad8_fetch(internal) |
| 20 | +RETURNS internal |
| 21 | +AS'MODULE_PATHNAME' |
| 22 | +LANGUAGE C IMMUTABLE STRICT; |
| 23 | + |
| 24 | +CREATEFUNCTIONgbt_macad8_penalty(internal,internal,internal) |
| 25 | +RETURNS internal |
| 26 | +AS'MODULE_PATHNAME' |
| 27 | +LANGUAGE C IMMUTABLE STRICT; |
| 28 | + |
| 29 | +CREATEFUNCTIONgbt_macad8_picksplit(internal, internal) |
| 30 | +RETURNS internal |
| 31 | +AS'MODULE_PATHNAME' |
| 32 | +LANGUAGE C IMMUTABLE STRICT; |
| 33 | + |
| 34 | +CREATEFUNCTIONgbt_macad8_union(internal, internal) |
| 35 | +RETURNS gbtreekey16 |
| 36 | +AS'MODULE_PATHNAME' |
| 37 | +LANGUAGE C IMMUTABLE STRICT; |
| 38 | + |
| 39 | +CREATEFUNCTIONgbt_macad8_same(gbtreekey16, gbtreekey16, internal) |
| 40 | +RETURNS internal |
| 41 | +AS'MODULE_PATHNAME' |
| 42 | +LANGUAGE C IMMUTABLE STRICT; |
| 43 | + |
| 44 | +-- Create the operator class |
| 45 | +CREATEOPERATOR CLASSgist_macaddr8_ops |
| 46 | +DEFAULT FOR TYPE macaddr8 USING gist |
| 47 | +AS |
| 48 | +OPERATOR1< , |
| 49 | +OPERATOR2<= , |
| 50 | +OPERATOR3= , |
| 51 | +OPERATOR4>= , |
| 52 | +OPERATOR5> , |
| 53 | +FUNCTION1gbt_macad8_consistent (internal, macaddr8, int2,oid, internal), |
| 54 | +FUNCTION2gbt_macad8_union (internal, internal), |
| 55 | +FUNCTION3gbt_macad8_compress (internal), |
| 56 | +FUNCTION4gbt_decompress (internal), |
| 57 | +FUNCTION5gbt_macad8_penalty (internal, internal, internal), |
| 58 | +FUNCTION6gbt_macad8_picksplit (internal, internal), |
| 59 | +FUNCTION7gbt_macad8_same (gbtreekey16, gbtreekey16, internal), |
| 60 | +STORAGEgbtreekey16; |
| 61 | + |
| 62 | +ALTEROPERATOR FAMILY gist_macaddr8_ops USING gist ADD |
| 63 | +OPERATOR6<> (macaddr8, macaddr8) , |
| 64 | +FUNCTION9 (macaddr8, macaddr8) gbt_macad8_fetch (internal); |