]> granicus.if.org Git - postgresql/blob - contrib/rtree_gist/rtree_gist.sql.in
Avoid PQisBusy/PQconsumeInput busy loop in case of PQisBusy returning
[postgresql] / contrib / rtree_gist / rtree_gist.sql.in
1 begin transaction;
2
3 -- Adjust this setting to control where the objects get created.
4 SET search_path = public;
5
6 --
7 --
8 --
9 -- BOX ops
10 --
11 --
12 --
13 -- define the GiST support methods
14 create function gbox_consistent(internal,box,int4) returns bool as 'MODULE_PATHNAME' language 'C';
15
16 create function gbox_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
17
18 create function rtree_decompress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
19
20 create function gbox_penalty(internal,internal,internal) returns internal as 'MODULE_PATHNAME' language 'C' with (isstrict);
21
22 create function gbox_picksplit(internal, internal) returns internal as 'MODULE_PATHNAME' language 'C';
23
24 create function gbox_union(bytea, internal) returns box as 'MODULE_PATHNAME' language 'C';
25
26 create function gbox_same(box, box, internal) returns internal as 'MODULE_PATHNAME' language 'C';
27
28 -- create the operator class
29 CREATE OPERATOR CLASS gist_box_ops
30     DEFAULT FOR TYPE box USING gist AS
31         OPERATOR        1       << ,
32         OPERATOR        2       &< ,
33         OPERATOR        3       && ,
34         OPERATOR        4       &> ,
35         OPERATOR        5       >> ,
36         OPERATOR        6       ~= ,
37         OPERATOR        7       ~ ,
38         OPERATOR        8       @ ,
39         FUNCTION        1       gbox_consistent (internal, box, int4),
40         FUNCTION        2       gbox_union (bytea, internal),
41         FUNCTION        3       gbox_compress (internal),
42         FUNCTION        4       rtree_decompress (internal),
43         FUNCTION        5       gbox_penalty (internal, internal, internal),
44         FUNCTION        6       gbox_picksplit (internal, internal),
45         FUNCTION        7       gbox_same (box, box, internal);
46
47
48 --
49 --
50 --
51 -- POLYGON ops
52 --
53 --
54 --
55 -- define the GiST support methods
56 create function gpoly_consistent(internal,polygon,int4) returns bool as 'MODULE_PATHNAME' language 'C';
57
58 create function gpoly_compress(internal) returns internal as 'MODULE_PATHNAME' language 'C';
59
60 -- create the operator class
61 CREATE OPERATOR CLASS gist_poly_ops
62     DEFAULT FOR TYPE polygon USING gist AS
63         OPERATOR        1       <<      RECHECK ,
64         OPERATOR        2       &<      RECHECK ,
65         OPERATOR        3       &&      RECHECK ,
66         OPERATOR        4       &>      RECHECK ,
67         OPERATOR        5       >>      RECHECK ,
68         OPERATOR        6       ~=      RECHECK ,
69         OPERATOR        7       ~       RECHECK ,
70         OPERATOR        8       @       RECHECK ,
71         FUNCTION        1       gpoly_consistent (internal, polygon, int4),
72         FUNCTION        2       gbox_union (bytea, internal),
73         FUNCTION        3       gpoly_compress (internal),
74         FUNCTION        4       rtree_decompress (internal),
75         FUNCTION        5       gbox_penalty (internal, internal, internal),
76         FUNCTION        6       gbox_picksplit (internal, internal),
77         FUNCTION        7       gbox_same (box, box, internal),
78         STORAGE         box;
79
80
81 end transaction;