]> granicus.if.org Git - postgresql/blob - src/test/regress/expected/tstypes.out
Teach the system how to use hashing for UNION. (INTERSECT/EXCEPT will follow,
[postgresql] / src / test / regress / expected / tstypes.out
1 --Base tsvector test
2 SELECT '1'::tsvector;
3  tsvector 
4 ----------
5  '1'
6 (1 row)
7
8 SELECT '1 '::tsvector;
9  tsvector 
10 ----------
11  '1'
12 (1 row)
13
14 SELECT ' 1'::tsvector;
15  tsvector 
16 ----------
17  '1'
18 (1 row)
19
20 SELECT ' 1 '::tsvector;
21  tsvector 
22 ----------
23  '1'
24 (1 row)
25
26 SELECT '1 2'::tsvector;
27  tsvector 
28 ----------
29  '1' '2'
30 (1 row)
31
32 SELECT '''1 2'''::tsvector;
33  tsvector 
34 ----------
35  '1 2'
36 (1 row)
37
38 SELECT E'''1 \\''2'''::tsvector;
39  tsvector 
40 ----------
41  '1 ''2'
42 (1 row)
43
44 SELECT E'''1 \\''2''3'::tsvector;
45   tsvector   
46 -------------
47  '1 ''2' '3'
48 (1 row)
49
50 SELECT E'''1 \\''2'' 3'::tsvector;
51   tsvector   
52 -------------
53  '1 ''2' '3'
54 (1 row)
55
56 SELECT E'''1 \\''2'' '' 3'' 4 '::tsvector;
57      tsvector     
58 ------------------
59  ' 3' '1 ''2' '4'
60 (1 row)
61
62 SELECT $$'\\as' ab\c ab\\c AB\\\c ab\\\\c$$::tsvector;
63                 tsvector                
64 ----------------------------------------
65  'AB\\c' '\\as' 'ab\\\\c' 'ab\\c' 'abc'
66 (1 row)
67
68 SELECT tsvectorin(tsvectorout($$'\\as' ab\c ab\\c AB\\\c ab\\\\c$$::tsvector));
69                tsvectorin               
70 ----------------------------------------
71  'AB\\c' '\\as' 'ab\\\\c' 'ab\\c' 'abc'
72 (1 row)
73
74 SELECT '''w'':4A,3B,2C,1D,5 a:8';
75        ?column?        
76 -----------------------
77  'w':4A,3B,2C,1D,5 a:8
78 (1 row)
79
80 SELECT 'a:3A b:2a'::tsvector || 'ba:1234 a:1B';
81           ?column?          
82 ----------------------------
83  'a':3A,4B 'b':2A 'ba':1237
84 (1 row)
85
86 SELECT setweight('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd zxc:81,567,222A'::tsvector, 'c');
87                         setweight                         
88 ----------------------------------------------------------
89  'a':1C,3C 'asd':1C 'w':5C,6C,12C,13C 'zxc':81C,222C,567C
90 (1 row)
91
92 SELECT strip('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd'::tsvector);
93      strip     
94 ---------------
95  'a' 'asd' 'w'
96 (1 row)
97
98 --Base tsquery test
99 SELECT '1'::tsquery;
100  tsquery 
101 ---------
102  '1'
103 (1 row)
104
105 SELECT '1 '::tsquery;
106  tsquery 
107 ---------
108  '1'
109 (1 row)
110
111 SELECT ' 1'::tsquery;
112  tsquery 
113 ---------
114  '1'
115 (1 row)
116
117 SELECT ' 1 '::tsquery;
118  tsquery 
119 ---------
120  '1'
121 (1 row)
122
123 SELECT '''1 2'''::tsquery;
124  tsquery 
125 ---------
126  '1 2'
127 (1 row)
128
129 SELECT E'''1 \\''2'''::tsquery;
130  tsquery 
131 ---------
132  '1 ''2'
133 (1 row)
134
135 SELECT '!1'::tsquery;
136  tsquery 
137 ---------
138  !'1'
139 (1 row)
140
141 SELECT '1|2'::tsquery;
142   tsquery  
143 -----------
144  '1' | '2'
145 (1 row)
146
147 SELECT '1|!2'::tsquery;
148   tsquery   
149 ------------
150  '1' | !'2'
151 (1 row)
152
153 SELECT '!1|2'::tsquery;
154   tsquery   
155 ------------
156  !'1' | '2'
157 (1 row)
158
159 SELECT '!1|!2'::tsquery;
160    tsquery   
161 -------------
162  !'1' | !'2'
163 (1 row)
164
165 SELECT '!(!1|!2)'::tsquery;
166      tsquery      
167 ------------------
168  !( !'1' | !'2' )
169 (1 row)
170
171 SELECT '!(!1|2)'::tsquery;
172      tsquery     
173 -----------------
174  !( !'1' | '2' )
175 (1 row)
176
177 SELECT '!(1|!2)'::tsquery;
178      tsquery     
179 -----------------
180  !( '1' | !'2' )
181 (1 row)
182
183 SELECT '!(1|2)'::tsquery;
184     tsquery     
185 ----------------
186  !( '1' | '2' )
187 (1 row)
188
189 SELECT '1&2'::tsquery;
190   tsquery  
191 -----------
192  '1' & '2'
193 (1 row)
194
195 SELECT '!1&2'::tsquery;
196   tsquery   
197 ------------
198  !'1' & '2'
199 (1 row)
200
201 SELECT '1&!2'::tsquery;
202   tsquery   
203 ------------
204  '1' & !'2'
205 (1 row)
206
207 SELECT '!1&!2'::tsquery;
208    tsquery   
209 -------------
210  !'1' & !'2'
211 (1 row)
212
213 SELECT '(1&2)'::tsquery;
214   tsquery  
215 -----------
216  '1' & '2'
217 (1 row)
218
219 SELECT '1&(2)'::tsquery;
220   tsquery  
221 -----------
222  '1' & '2'
223 (1 row)
224
225 SELECT '!(1)&2'::tsquery;
226   tsquery   
227 ------------
228  !'1' & '2'
229 (1 row)
230
231 SELECT '!(1&2)'::tsquery;
232     tsquery     
233 ----------------
234  !( '1' & '2' )
235 (1 row)
236
237 SELECT '1|2&3'::tsquery;
238      tsquery     
239 -----------------
240  '1' | '2' & '3'
241 (1 row)
242
243 SELECT '1|(2&3)'::tsquery;
244      tsquery     
245 -----------------
246  '1' | '2' & '3'
247 (1 row)
248
249 SELECT '(1|2)&3'::tsquery;
250        tsquery       
251 ---------------------
252  ( '1' | '2' ) & '3'
253 (1 row)
254
255 SELECT '1|2&!3'::tsquery;
256      tsquery      
257 ------------------
258  '1' | '2' & !'3'
259 (1 row)
260
261 SELECT '1|!2&3'::tsquery;
262      tsquery      
263 ------------------
264  '1' | !'2' & '3'
265 (1 row)
266
267 SELECT '!1|2&3'::tsquery;
268      tsquery      
269 ------------------
270  !'1' | '2' & '3'
271 (1 row)
272
273 SELECT '!1|(2&3)'::tsquery;
274      tsquery      
275 ------------------
276  !'1' | '2' & '3'
277 (1 row)
278
279 SELECT '!(1|2)&3'::tsquery;
280        tsquery        
281 ----------------------
282  !( '1' | '2' ) & '3'
283 (1 row)
284
285 SELECT '(!1|2)&3'::tsquery;
286        tsquery        
287 ----------------------
288  ( !'1' | '2' ) & '3'
289 (1 row)
290
291 SELECT '1|(2|(4|(5|6)))'::tsquery;
292                  tsquery                 
293 -----------------------------------------
294  '1' | ( '2' | ( '4' | ( '5' | '6' ) ) )
295 (1 row)
296
297 SELECT '1|2|4|5|6'::tsquery;
298                  tsquery                 
299 -----------------------------------------
300  ( ( ( '1' | '2' ) | '4' ) | '5' ) | '6'
301 (1 row)
302
303 SELECT '1&(2&(4&(5&6)))'::tsquery;
304            tsquery           
305 -----------------------------
306  '1' & '2' & '4' & '5' & '6'
307 (1 row)
308
309 SELECT '1&2&4&5&6'::tsquery;
310            tsquery           
311 -----------------------------
312  '1' & '2' & '4' & '5' & '6'
313 (1 row)
314
315 SELECT '1&(2&(4&(5|6)))'::tsquery;
316              tsquery             
317 ---------------------------------
318  '1' & '2' & '4' & ( '5' | '6' )
319 (1 row)
320
321 SELECT '1&(2&(4&(5|!6)))'::tsquery;
322              tsquery              
323 ----------------------------------
324  '1' & '2' & '4' & ( '5' | !'6' )
325 (1 row)
326
327 SELECT E'1&(''2''&('' 4''&(\\|5 | ''6 \\'' !|&'')))'::tsquery;
328                  tsquery                  
329 ------------------------------------------
330  '1' & '2' & ' 4' & ( '|5' | '6 '' !|&' )
331 (1 row)
332
333 SELECT $$'\\as'$$::tsquery;
334  tsquery 
335 ---------
336  '\\as'
337 (1 row)
338
339 SELECT 'a:* & nbb:*ac | doo:a* | goo'::tsquery;
340                  tsquery                  
341 ------------------------------------------
342  ( 'a':* & 'nbb':*AC | 'doo':*A ) | 'goo'
343 (1 row)
344
345 SELECT 'a' < 'b & c'::tsquery as "true";
346  true 
347 ------
348  t
349 (1 row)
350
351 SELECT 'a' > 'b & c'::tsquery as "false";
352  false 
353 -------
354  f
355 (1 row)
356
357 SELECT 'a | f' < 'b & c'::tsquery as "true";
358  true 
359 ------
360  t
361 (1 row)
362
363 SELECT 'a | ff' < 'b & c'::tsquery as "false";
364  false 
365 -------
366  f
367 (1 row)
368
369 SELECT 'a | f | g' < 'b & c'::tsquery as "false";
370  false 
371 -------
372  f
373 (1 row)
374
375 SELECT numnode( 'new'::tsquery );
376  numnode 
377 ---------
378        1
379 (1 row)
380
381 SELECT numnode( 'new & york'::tsquery );
382  numnode 
383 ---------
384        3
385 (1 row)
386
387 SELECT numnode( 'new & york | qwery'::tsquery );
388  numnode 
389 ---------
390        5
391 (1 row)
392
393 SELECT 'foo & bar'::tsquery && 'asd';
394        ?column?        
395 -----------------------
396  'foo' & 'bar' & 'asd'
397 (1 row)
398
399 SELECT 'foo & bar'::tsquery || 'asd & fg';
400            ?column?           
401 ------------------------------
402  'foo' & 'bar' | 'asd' & 'fg'
403 (1 row)
404
405 SELECT 'foo & bar'::tsquery || !!'asd & fg'::tsquery;
406              ?column?              
407 -----------------------------------
408  'foo' & 'bar' | !( 'asd' & 'fg' )
409 (1 row)
410
411 SELECT 'foo & bar'::tsquery && 'asd | fg';
412              ?column?             
413 ----------------------------------
414  'foo' & 'bar' & ( 'asd' | 'fg' )
415 (1 row)
416
417 -- tsvector-tsquery operations
418 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca' as "true";
419  true 
420 ------
421  t
422 (1 row)
423
424 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:B' as "true";
425  true 
426 ------
427  t
428 (1 row)
429
430 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:A' as "true";
431  true 
432 ------
433  t
434 (1 row)
435
436 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:C' as "false";
437  false 
438 -------
439  f
440 (1 row)
441
442 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:CB' as "true";
443  true 
444 ------
445  t
446 (1 row)
447
448 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & c:*C' as "false";
449  false 
450 -------
451  f
452 (1 row)
453
454 SELECT 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & c:*CB' as "true";
455  true 
456 ------
457  t
458 (1 row)
459
460 SELECT 'a b:89  ca:23A,64b cb:80c d:34c'::tsvector @@ 'd:AC & c:*C' as "true";
461  true 
462 ------
463  t
464 (1 row)
465
466 SELECT 'a b:89  ca:23A,64c cb:80b d:34c'::tsvector @@ 'd:AC & c:*C' as "true";
467  true 
468 ------
469  t
470 (1 row)
471
472 SELECT 'a b:89  ca:23A,64c cb:80b d:34c'::tsvector @@ 'd:AC & c:*B' as "true";
473  true 
474 ------
475  t
476 (1 row)
477
478 SELECT 'supernova'::tsvector @@ 'super'::tsquery AS "false";
479  false 
480 -------
481  f
482 (1 row)
483
484 SELECT 'supeanova supernova'::tsvector @@ 'super'::tsquery AS "false";
485  false 
486 -------
487  f
488 (1 row)
489
490 SELECT 'supeznova supernova'::tsvector @@ 'super'::tsquery AS "false";
491  false 
492 -------
493  f
494 (1 row)
495
496 SELECT 'supernova'::tsvector @@ 'super:*'::tsquery AS "true";
497  true 
498 ------
499  t
500 (1 row)
501
502 SELECT 'supeanova supernova'::tsvector @@ 'super:*'::tsquery AS "true";
503  true 
504 ------
505  t
506 (1 row)
507
508 SELECT 'supeznova supernova'::tsvector @@ 'super:*'::tsquery AS "true";
509  true 
510 ------
511  t
512 (1 row)
513
514 SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a | s');
515   ts_rank  
516 -----------
517  0.0911891
518 (1 row)
519
520 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s');
521   ts_rank  
522 -----------
523  0.0303964
524 (1 row)
525
526 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | s:*');
527   ts_rank  
528 -----------
529  0.0911891
530 (1 row)
531
532 SELECT ts_rank(' a:1 sa:2C d g'::tsvector, 'a | sa:*');
533   ts_rank  
534 -----------
535  0.0911891
536 (1 row)
537
538 SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a | s');
539  ts_rank  
540 ----------
541  0.151982
542 (1 row)
543
544 SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a | s');
545   ts_rank  
546 -----------
547  0.0607927
548 (1 row)
549
550 SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a & s');
551  ts_rank  
552 ----------
553  0.140153
554 (1 row)
555
556 SELECT ts_rank(' a:1 s:2B d g'::tsvector, 'a & s');
557  ts_rank  
558 ----------
559  0.198206
560 (1 row)
561
562 SELECT ts_rank(' a:1 s:2 d g'::tsvector, 'a & s');
563   ts_rank  
564 -----------
565  0.0991032
566 (1 row)
567
568 SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a | s');
569  ts_rank_cd 
570 ------------
571         0.3
572 (1 row)
573
574 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | s');
575  ts_rank_cd 
576 ------------
577         0.1
578 (1 row)
579
580 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | s:*');
581  ts_rank_cd 
582 ------------
583         0.3
584 (1 row)
585
586 SELECT ts_rank_cd(' a:1 sa:2C d g'::tsvector, 'a | sa:*');
587  ts_rank_cd 
588 ------------
589         0.3
590 (1 row)
591
592 SELECT ts_rank_cd(' a:1 sa:3C sab:2c d g'::tsvector, 'a | sa:*');
593  ts_rank_cd 
594 ------------
595         0.5
596 (1 row)
597
598 SELECT ts_rank_cd(' a:1 s:2B d g'::tsvector, 'a | s');
599  ts_rank_cd 
600 ------------
601         0.5
602 (1 row)
603
604 SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a | s');
605  ts_rank_cd 
606 ------------
607         0.2
608 (1 row)
609
610 SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a & s');
611  ts_rank_cd 
612 ------------
613    0.133333
614 (1 row)
615
616 SELECT ts_rank_cd(' a:1 s:2B d g'::tsvector, 'a & s');
617  ts_rank_cd 
618 ------------
619        0.16
620 (1 row)
621
622 SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a & s');
623  ts_rank_cd 
624 ------------
625         0.1
626 (1 row)
627