Fix minor nbtree page deletion buffer lock issue.
[pgsql.git] / contrib / btree_gist / btree_gist--1.4--1.5.sql
blobcf974c2f5319accf7020d7e204c6a6c4e9611b11
1 /* contrib/btree_gist/btree_gist--1.4--1.5.sql */
3 -- complain if script is sourced in psql, rather than via CREATE EXTENSION
4 \echo Use "ALTER EXTENSION btree_gist UPDATE TO '1.5'" to load this file. \quit
6 --
7 --
8 --
9 -- enum ops
13 -- define the GiST support methods
14 CREATE FUNCTION gbt_enum_consistent(internal,anyenum,int2,oid,internal)
15 RETURNS bool
16 AS 'MODULE_PATHNAME'
17 LANGUAGE C IMMUTABLE STRICT;
19 CREATE FUNCTION gbt_enum_compress(internal)
20 RETURNS internal
21 AS 'MODULE_PATHNAME'
22 LANGUAGE C IMMUTABLE STRICT;
24 CREATE FUNCTION gbt_enum_fetch(internal)
25 RETURNS internal
26 AS 'MODULE_PATHNAME'
27 LANGUAGE C IMMUTABLE STRICT;
29 CREATE FUNCTION gbt_enum_penalty(internal,internal,internal)
30 RETURNS internal
31 AS 'MODULE_PATHNAME'
32 LANGUAGE C IMMUTABLE STRICT;
34 CREATE FUNCTION gbt_enum_picksplit(internal, internal)
35 RETURNS internal
36 AS 'MODULE_PATHNAME'
37 LANGUAGE C IMMUTABLE STRICT;
39 CREATE FUNCTION gbt_enum_union(internal, internal)
40 RETURNS gbtreekey8
41 AS 'MODULE_PATHNAME'
42 LANGUAGE C IMMUTABLE STRICT;
44 CREATE FUNCTION gbt_enum_same(gbtreekey8, gbtreekey8, internal)
45 RETURNS internal
46 AS 'MODULE_PATHNAME'
47 LANGUAGE C IMMUTABLE STRICT;
49 -- Create the operator class
50 CREATE OPERATOR CLASS gist_enum_ops
51 DEFAULT FOR TYPE anyenum USING gist
53         OPERATOR        1       <  ,
54         OPERATOR        2       <= ,
55         OPERATOR        3       =  ,
56         OPERATOR        4       >= ,
57         OPERATOR        5       >  ,
58         FUNCTION        1       gbt_enum_consistent (internal, anyenum, int2, oid, internal),
59         FUNCTION        2       gbt_enum_union (internal, internal),
60         FUNCTION        3       gbt_enum_compress (internal),
61         FUNCTION        4       gbt_decompress (internal),
62         FUNCTION        5       gbt_enum_penalty (internal, internal, internal),
63         FUNCTION        6       gbt_enum_picksplit (internal, internal),
64         FUNCTION        7       gbt_enum_same (gbtreekey8, gbtreekey8, internal),
65         STORAGE         gbtreekey8;
67 ALTER OPERATOR FAMILY gist_enum_ops USING gist ADD
68         OPERATOR        6       <> (anyenum, anyenum) ,
69         FUNCTION        9 (anyenum, anyenum) gbt_enum_fetch (internal) ;