1/* contrib/ltree/ltree--1.1--1.2.sql */
2
3-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4\echo Use "ALTER EXTENSION ltree UPDATE TO '1.2'" to load this file. \quit
5
6CREATE FUNCTION ltree_recv(internal)
7RETURNS ltree
8AS 'MODULE_PATHNAME'
9LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
10
11CREATE FUNCTION ltree_send(ltree)
12RETURNS bytea
13AS 'MODULE_PATHNAME'
14LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
15
16ALTER TYPE ltree SET ( RECEIVE = ltree_recv, SEND = ltree_send );
17
18CREATE FUNCTION lquery_recv(internal)
19RETURNS lquery
20AS 'MODULE_PATHNAME'
21LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
22
23CREATE FUNCTION lquery_send(lquery)
24RETURNS bytea
25AS 'MODULE_PATHNAME'
26LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
27
28ALTER TYPE lquery SET ( RECEIVE = lquery_recv, SEND = lquery_send );
29
30CREATE FUNCTION ltxtq_recv(internal)
31RETURNS ltxtquery
32AS 'MODULE_PATHNAME'
33LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
34
35CREATE FUNCTION ltxtq_send(ltxtquery)
36RETURNS bytea
37AS 'MODULE_PATHNAME'
38LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
39
40ALTER TYPE ltxtquery SET ( RECEIVE = ltxtq_recv, SEND = ltxtq_send );
41
42
43CREATE FUNCTION ltree_gist_options(internal)
44RETURNS void
45AS 'MODULE_PATHNAME', 'ltree_gist_options'
46LANGUAGE C IMMUTABLE PARALLEL SAFE;
47
48CREATE FUNCTION _ltree_gist_options(internal)
49RETURNS void
50AS 'MODULE_PATHNAME', '_ltree_gist_options'
51LANGUAGE C IMMUTABLE PARALLEL SAFE;
52
53ALTER OPERATOR FAMILY gist_ltree_ops USING gist
54ADD FUNCTION 10 (ltree) ltree_gist_options (internal);
55
56ALTER OPERATOR FAMILY gist__ltree_ops USING gist
57ADD FUNCTION 10 (_ltree) _ltree_gist_options (internal);
58
59ALTER OPERATOR < (ltree, ltree)
60  SET (RESTRICT = scalarltsel, JOIN = scalarltjoinsel);
61ALTER OPERATOR <= (ltree, ltree)
62  SET (RESTRICT = scalarlesel, JOIN = scalarlejoinsel);
63ALTER OPERATOR >= (ltree, ltree)
64  SET (RESTRICT = scalargesel, JOIN = scalargejoinsel);
65ALTER OPERATOR > (ltree, ltree)
66  SET (RESTRICT = scalargtsel, JOIN = scalargtjoinsel);
67
68ALTER OPERATOR @> (ltree, ltree)
69  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
70ALTER OPERATOR ^@> (ltree, ltree)
71  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
72ALTER OPERATOR <@ (ltree, ltree)
73  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
74ALTER OPERATOR ^<@ (ltree, ltree)
75  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
76ALTER OPERATOR ~ (ltree, lquery)
77  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
78ALTER OPERATOR ~ (lquery, ltree)
79  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
80ALTER OPERATOR ^~ (ltree, lquery)
81  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
82ALTER OPERATOR ^~ (lquery, ltree)
83  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
84ALTER OPERATOR ? (ltree, _lquery)
85  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
86ALTER OPERATOR ? (_lquery, ltree)
87  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
88ALTER OPERATOR ^? (ltree, _lquery)
89  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
90ALTER OPERATOR ^? (_lquery, ltree)
91  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
92ALTER OPERATOR @ (ltree, ltxtquery)
93  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
94ALTER OPERATOR @ (ltxtquery, ltree)
95  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
96ALTER OPERATOR ^@ (ltree, ltxtquery)
97  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
98ALTER OPERATOR ^@ (ltxtquery, ltree)
99  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
100ALTER OPERATOR @> (_ltree, ltree)
101  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
102ALTER OPERATOR <@ (ltree, _ltree)
103  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
104ALTER OPERATOR <@ (_ltree, ltree)
105  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
106ALTER OPERATOR @> (ltree, _ltree)
107  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
108ALTER OPERATOR ~ (_ltree, lquery)
109  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
110ALTER OPERATOR ~ (lquery, _ltree)
111  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
112ALTER OPERATOR ? (_ltree, _lquery)
113  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
114ALTER OPERATOR ? (_lquery, _ltree)
115  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
116ALTER OPERATOR @ (_ltree, ltxtquery)
117  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
118ALTER OPERATOR @ (ltxtquery, _ltree)
119  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
120ALTER OPERATOR ^@> (_ltree, ltree)
121  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
122ALTER OPERATOR ^<@ (ltree, _ltree)
123  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
124ALTER OPERATOR ^<@ (_ltree, ltree)
125  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
126ALTER OPERATOR ^@> (ltree, _ltree)
127  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
128ALTER OPERATOR ^~ (_ltree, lquery)
129  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
130ALTER OPERATOR ^~ (lquery, _ltree)
131  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
132ALTER OPERATOR ^? (_ltree, _lquery)
133  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
134ALTER OPERATOR ^? (_lquery, _ltree)
135  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
136ALTER OPERATOR ^@ (_ltree, ltxtquery)
137  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
138ALTER OPERATOR ^@ (ltxtquery, _ltree)
139  SET (RESTRICT = matchingsel, JOIN = matchingjoinsel);
140