@@ -9,6 +9,7 @@ INSERT INTO test_invrum VALUES ('(a|b)&c'::tsquery);
9
9
INSERT INTO test_invrum VALUES ('(!(a|b))&c'::tsquery);
10
10
INSERT INTO test_invrum VALUES ('(a|b)&(c|d)'::tsquery);
11
11
INSERT INTO test_invrum VALUES ('!a'::tsquery);
12
+ INSERT INTO test_invrum VALUES ('a&!(b&c)'::tsquery);
12
13
INSERT INTO test_invrum VALUES ('(a|a1|a2|a3|a4|a5)&(b|b1|b2|b3|b4|b5|b6)&!(c|c1|c2|c3)'::tsquery);
13
14
SELECT * FROM test_invrum WHERE q @@ ''::tsvector;
14
15
q
@@ -20,12 +21,13 @@ SELECT * FROM test_invrum WHERE q @@ ''::tsvector;
20
21
(4 rows)
21
22
22
23
SELECT * FROM test_invrum WHERE q @@ 'a'::tsvector;
23
- q
24
- ----------------
24
+ q
25
+ ----------------------
25
26
'a' | 'b'
26
27
!( 'a' & 'b' )
27
28
'a' & !'b'
28
- (3 rows)
29
+ 'a' & !( 'b' & 'c' )
30
+ (4 rows)
29
31
30
32
SELECT * FROM test_invrum WHERE q @@ 'b'::tsvector;
31
33
q
@@ -42,8 +44,9 @@ SELECT * FROM test_invrum WHERE q @@ 'a b'::tsvector;
42
44
'a' | 'b'
43
45
'a' & 'b'
44
46
!'a' | 'b'
47
+ 'a' & !( 'b' & 'c' )
45
48
( 'a' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' ) & ( 'b' | 'b1' | 'b2' | 'b3' | 'b4' | 'b5' | 'b6' ) & !( 'c' | 'c1' | 'c2' | 'c3' )
46
- (4 rows)
49
+ (5 rows)
47
50
48
51
SELECT * FROM test_invrum WHERE q @@ 'c'::tsvector;
49
52
q
@@ -63,7 +66,8 @@ SELECT * FROM test_invrum WHERE q @@ 'a c'::tsvector;
63
66
'a' & !'b'
64
67
( 'a' | 'b' ) & 'c'
65
68
( 'a' | 'b' ) & ( 'c' | 'd' )
66
- (5 rows)
69
+ 'a' & !( 'b' & 'c' )
70
+ (6 rows)
67
71
68
72
SELECT * FROM test_invrum WHERE q @@ 'b c'::tsvector;
69
73
q
@@ -102,7 +106,8 @@ SELECT * FROM test_invrum WHERE q @@ 'a d'::tsvector;
102
106
!( 'a' & 'b' )
103
107
'a' & !'b'
104
108
( 'a' | 'b' ) & ( 'c' | 'd' )
105
- (4 rows)
109
+ 'a' & !( 'b' & 'c' )
110
+ (5 rows)
106
111
107
112
SELECT * FROM test_invrum WHERE q @@ 'b d'::tsvector;
108
113
q
@@ -121,8 +126,9 @@ SELECT * FROM test_invrum WHERE q @@ 'a b d'::tsvector;
121
126
'a' & 'b'
122
127
!'a' | 'b'
123
128
( 'a' | 'b' ) & ( 'c' | 'd' )
129
+ 'a' & !( 'b' & 'c' )
124
130
( 'a' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' ) & ( 'b' | 'b1' | 'b2' | 'b3' | 'b4' | 'b5' | 'b6' ) & !( 'c' | 'c1' | 'c2' | 'c3' )
125
- (5 rows)
131
+ (6 rows)
126
132
127
133
SELECT * FROM test_invrum WHERE q @@ 'c d'::tsvector;
128
134
q
@@ -142,7 +148,8 @@ SELECT * FROM test_invrum WHERE q @@ 'a c d'::tsvector;
142
148
'a' & !'b'
143
149
( 'a' | 'b' ) & 'c'
144
150
( 'a' | 'b' ) & ( 'c' | 'd' )
145
- (5 rows)
151
+ 'a' & !( 'b' & 'c' )
152
+ (6 rows)
146
153
147
154
CREATE INDEX test_invrum_idx ON test_invrum USING rum(q);
148
155
SET enable_seqscan = OFF;
@@ -152,12 +159,13 @@ SELECT * FROM test_invrum WHERE q @@ ''::tsvector;
152
159
(0 rows)
153
160
154
161
SELECT * FROM test_invrum WHERE q @@ 'a'::tsvector;
155
- q
156
- ----------------
162
+ q
163
+ ----------------------
157
164
'a' | 'b'
158
165
!( 'a' & 'b' )
159
166
'a' & !'b'
160
- (3 rows)
167
+ 'a' & !( 'b' & 'c' )
168
+ (4 rows)
161
169
162
170
SELECT * FROM test_invrum WHERE q @@ 'b'::tsvector;
163
171
q
@@ -216,7 +224,8 @@ SELECT * FROM test_invrum WHERE q @@ 'a b c'::tsvector;
216
224
!'a' | 'b'
217
225
( 'a' | 'b' ) & 'c'
218
226
( 'a' | 'b' ) & ( 'c' | 'd' )
219
- (5 rows)
227
+ 'a' & !( 'b' & 'c' )
228
+ (6 rows)
220
229
221
230
SELECT * FROM test_invrum WHERE q @@ 'd'::tsvector;
222
231
q
@@ -234,7 +243,8 @@ SELECT * FROM test_invrum WHERE q @@ 'a d'::tsvector;
234
243
!( 'a' & 'b' )
235
244
'a' & !'b'
236
245
( 'a' | 'b' ) & ( 'c' | 'd' )
237
- (4 rows)
246
+ 'a' & !( 'b' & 'c' )
247
+ (5 rows)
238
248
239
249
SELECT * FROM test_invrum WHERE q @@ 'b d'::tsvector;
240
250
q
0 commit comments