2
2
--
3
3
-- Support for the following comparisons:
4
4
--
5
- -- cs_encrypted_v1 @> cs_encrypted_v1
6
- -- cs_encrypted_v1 @> jsonb
7
- -- cs_encrypted_v1 @> cs_match_index_v1
5
+ -- cs_encrypted_v1 ~~ cs_encrypted_v1
6
+ -- cs_encrypted_v1 ~~ jsonb
7
+ -- cs_encrypted_v1 ~~ cs_match_index_v1
8
8
--
9
9
10
- DROP OPERATOR IF EXISTS @ > (cs_encrypted_v1, cs_encrypted_v1);
11
- DROP FUNCTION IF EXISTS cs_encrypted_contains_v1 (a cs_encrypted_v1, b cs_encrypted_v1);
10
+ DROP OPERATOR IF EXISTS ~~ (cs_encrypted_v1, cs_encrypted_v1);
11
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1 (a cs_encrypted_v1, b cs_encrypted_v1);
12
12
13
- CREATE FUNCTION cs_encrypted_contains_v1 (a cs_encrypted_v1, b cs_encrypted_v1)
13
+ CREATE FUNCTION cs_encrypted_match_v1 (a cs_encrypted_v1, b cs_encrypted_v1)
14
14
RETURNS boolean AS $$
15
15
SELECT cs_match_v1(a) @> cs_match_v1(b);
16
16
$$ LANGUAGE SQL;
17
17
18
- CREATE OPERATOR @ > (
19
- PROCEDURE= " cs_encrypted_contains_v1 " ,
18
+ CREATE OPERATOR ~~ (
19
+ PROCEDURE= " cs_encrypted_match_v1 " ,
20
20
LEFTARG= cs_encrypted_v1,
21
21
RIGHTARG= cs_encrypted_v1,
22
22
RESTRICT = eqsel,
@@ -25,17 +25,37 @@ CREATE OPERATOR @>(
25
25
MERGES
26
26
);
27
27
28
+ CREATE OPERATOR ~~* (
29
+ PROCEDURE= " cs_encrypted_match_v1" ,
30
+ LEFTARG= cs_encrypted_v1,
31
+ RIGHTARG= cs_encrypted_v1,
32
+ RESTRICT = eqsel,
33
+ JOIN = eqjoinsel,
34
+ HASHES,
35
+ MERGES
36
+ );
28
37
29
- DROP OPERATOR IF EXISTS @> (cs_encrypted_v1, cs_match_index_v1);
30
- DROP FUNCTION IF EXISTS cs_encrypted_contains_v1(a cs_encrypted_v1, b cs_match_index_v1);
31
38
32
- CREATE FUNCTION cs_encrypted_contains_v1 (a cs_encrypted_v1, b cs_match_index_v1)
39
+ DROP OPERATOR IF EXISTS ~~ (cs_encrypted_v1, cs_match_index_v1);
40
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1(a cs_encrypted_v1, b cs_match_index_v1);
41
+
42
+ CREATE FUNCTION cs_encrypted_match_v1 (a cs_encrypted_v1, b cs_match_index_v1)
33
43
RETURNS boolean AS $$
34
44
SELECT cs_match_v1(a) @> b;
35
45
$$ LANGUAGE SQL;
36
46
37
- CREATE OPERATOR @> (
38
- PROCEDURE= " cs_encrypted_contains_v1" ,
47
+ CREATE OPERATOR ~~(
48
+ PROCEDURE= " cs_encrypted_match_v1" ,
49
+ LEFTARG= cs_encrypted_v1,
50
+ RIGHTARG= cs_match_index_v1,
51
+ RESTRICT = eqsel,
52
+ JOIN = eqjoinsel,
53
+ HASHES,
54
+ MERGES
55
+ );
56
+
57
+ CREATE OPERATOR ~~* (
58
+ PROCEDURE= " cs_encrypted_match_v1" ,
39
59
LEFTARG= cs_encrypted_v1,
40
60
RIGHTARG= cs_match_index_v1,
41
61
RESTRICT = eqsel,
@@ -46,16 +66,16 @@ CREATE OPERATOR @>(
46
66
47
67
48
68
49
- DROP OPERATOR IF EXISTS @ > (cs_match_index_v1, cs_encrypted_v1);
50
- DROP FUNCTION IF EXISTS cs_encrypted_contains_v1 (a cs_match_index_v1, b cs_encrypted_v1);
69
+ DROP OPERATOR IF EXISTS ~~ (cs_match_index_v1, cs_encrypted_v1);
70
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1 (a cs_match_index_v1, b cs_encrypted_v1);
51
71
52
- CREATE FUNCTION cs_encrypted_contains_v1 (a cs_match_index_v1, b cs_encrypted_v1)
72
+ CREATE FUNCTION cs_encrypted_match_v1 (a cs_match_index_v1, b cs_encrypted_v1)
53
73
RETURNS boolean AS $$
54
74
SELECT a @> cs_match_v1(b);
55
75
$$ LANGUAGE SQL;
56
76
57
- CREATE OPERATOR @ > (
58
- PROCEDURE= " cs_encrypted_contains_v1 " ,
77
+ CREATE OPERATOR ~~ (
78
+ PROCEDURE= " cs_encrypted_match_v1 " ,
59
79
LEFTARG= cs_match_index_v1,
60
80
RIGHTARG= cs_encrypted_v1,
61
81
RESTRICT = eqsel,
@@ -64,67 +84,104 @@ CREATE OPERATOR @>(
64
84
MERGES
65
85
);
66
86
67
-
68
- -- ---------------------------------------------------------------------------
87
+ CREATE OPERATOR ~~* (
88
+ PROCEDURE= " cs_encrypted_match_v1" ,
89
+ LEFTARG= cs_match_index_v1,
90
+ RIGHTARG= cs_encrypted_v1,
91
+ RESTRICT = eqsel,
92
+ JOIN = eqjoinsel,
93
+ HASHES,
94
+ MERGES
95
+ );
69
96
70
97
71
- DROP OPERATOR IF EXISTS < @ (cs_encrypted_v1, cs_encrypted_v1 );
72
- DROP FUNCTION IF EXISTS cs_encrypted_contained_v1 (a cs_encrypted_v1 , b cs_encrypted_v1 );
98
+ DROP OPERATOR IF EXISTS ~~ (cs_match_index_v1, cs_match_index_v1 );
99
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1 (a cs_match_index_v1 , b cs_match_index_v1 );
73
100
74
- CREATE FUNCTION cs_encrypted_contained_v1 (a cs_encrypted_v1 , b cs_encrypted_v1 )
101
+ CREATE FUNCTION cs_encrypted_match_v1 (a cs_match_index_v1 , b cs_match_index_v1 )
75
102
RETURNS boolean AS $$
76
- SELECT cs_match_v1(a) < @ cs_match_v1(b) ;
103
+ SELECT a @ > b ;
77
104
$$ LANGUAGE SQL;
78
105
79
- CREATE OPERATOR < @(
80
- PROCEDURE= " cs_encrypted_contained_v1" ,
81
- LEFTARG= cs_encrypted_v1,
82
- RIGHTARG= cs_encrypted_v1,
106
+ CREATE OPERATOR ~~(
107
+ PROCEDURE= " cs_encrypted_match_v1" ,
108
+ LEFTARG= cs_match_index_v1,
109
+ RIGHTARG= cs_match_index_v1,
110
+ RESTRICT = eqsel,
111
+ JOIN = eqjoinsel,
112
+ HASHES,
113
+ MERGES
114
+ );
115
+
116
+ CREATE OPERATOR ~~* (
117
+ PROCEDURE= " cs_encrypted_match_v1" ,
118
+ LEFTARG= cs_match_index_v1,
119
+ RIGHTARG= cs_match_index_v1,
83
120
RESTRICT = eqsel,
84
121
JOIN = eqjoinsel,
85
122
HASHES,
86
123
MERGES
87
124
);
88
125
89
126
90
- DROP OPERATOR IF EXISTS < @ (cs_encrypted_v1, cs_match_index_v1 );
91
- DROP FUNCTION IF EXISTS cs_encrypted_contained_v1 (a cs_encrypted_v1, b cs_match_index_v1 );
127
+ DROP OPERATOR IF EXISTS ~~ (cs_encrypted_v1, jsonb );
128
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1 (a cs_encrypted_v1, b jsonb );
92
129
93
- CREATE FUNCTION cs_encrypted_contained_v1 (a cs_encrypted_v1, b cs_match_index_v1 )
130
+ CREATE FUNCTION cs_encrypted_match_v1 (a cs_encrypted_v1, b jsonb )
94
131
RETURNS boolean AS $$
95
- SELECT cs_match_v1(a) < @ b ;
132
+ SELECT cs_match_v1(a) @ > cs_match_v1(b) ;
96
133
$$ LANGUAGE SQL;
97
134
98
- CREATE OPERATOR < @ (
99
- PROCEDURE= " cs_encrypted_contained_v1 " ,
135
+ CREATE OPERATOR ~~ (
136
+ PROCEDURE= " cs_encrypted_match_v1 " ,
100
137
LEFTARG= cs_encrypted_v1,
101
- RIGHTARG= cs_match_index_v1,
138
+ RIGHTARG= jsonb,
139
+ RESTRICT = eqsel,
140
+ JOIN = eqjoinsel,
141
+ HASHES,
142
+ MERGES
143
+ );
144
+
145
+ CREATE OPERATOR ~~* (
146
+ PROCEDURE= " cs_encrypted_match_v1" ,
147
+ LEFTARG= cs_encrypted_v1,
148
+ RIGHTARG= jsonb,
102
149
RESTRICT = eqsel,
103
150
JOIN = eqjoinsel,
104
151
HASHES,
105
152
MERGES
106
153
);
107
154
108
155
109
- DROP OPERATOR IF EXISTS < @ (cs_match_index_v1, cs_encrypted_v1);
110
- DROP FUNCTION IF EXISTS cs_encrypted_contained_v1(a cs_match_index_v1, b cs_encrypted_v1);
111
156
112
- CREATE FUNCTION cs_encrypted_contained_v1 (a cs_match_index_v1, b cs_encrypted_v1)
157
+ DROP OPERATOR IF EXISTS ~~ (jsonb, cs_encrypted_v1);
158
+ DROP FUNCTION IF EXISTS cs_encrypted_match_v1(a jsonb, b cs_encrypted_v1);
159
+
160
+ CREATE FUNCTION cs_encrypted_match_v1 (a jsonb, b cs_encrypted_v1)
113
161
RETURNS boolean AS $$
114
- SELECT a < @ cs_match_v1(b);
162
+ SELECT cs_match_v1(a) @ > cs_match_v1(b);
115
163
$$ LANGUAGE SQL;
116
164
117
- CREATE OPERATOR < @ (
118
- PROCEDURE= " cs_encrypted_contained_v1 " ,
119
- LEFTARG= cs_match_index_v1 ,
165
+ CREATE OPERATOR ~~ (
166
+ PROCEDURE= " cs_encrypted_match_v1 " ,
167
+ LEFTARG= jsonb ,
120
168
RIGHTARG= cs_encrypted_v1,
121
169
RESTRICT = eqsel,
122
170
JOIN = eqjoinsel,
123
171
HASHES,
124
172
MERGES
125
173
);
126
174
175
+ CREATE OPERATOR ~~* (
176
+ PROCEDURE= " cs_encrypted_match_v1" ,
177
+ LEFTARG= jsonb,
178
+ RIGHTARG= cs_encrypted_v1,
179
+ RESTRICT = eqsel,
180
+ JOIN = eqjoinsel,
181
+ HASHES,
182
+ MERGES
183
+ );
127
184
128
- -- ---------------------------------------------------------------------------------------
129
185
186
+ -- -----------------------------------------------------------------------------
130
187
0 commit comments