Skip to content

Commit c6e2572

Browse files
committed
regression tests: tstypes
1 parent faf2322 commit c6e2572

File tree

2 files changed

+365
-0
lines changed

2 files changed

+365
-0
lines changed

src/test/regress/expected/tstypes.out

Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,140 @@ SELECT 'a:* & nbb:*ac | doo:a* | goo'::tsquery;
342342
'a':* & 'nbb':*AC | 'doo':*A | 'goo'
343343
(1 row)
344344

345+
SELECT setweight('a:d & b:a & f'::tsquery, 'c');
346+
setweight
347+
-------------------------
348+
'a':CD & 'b':AC & 'f':C
349+
(1 row)
350+
351+
-- phrase transformation
352+
SELECT 'a ? (b|c)'::tsquery;
353+
tsquery
354+
-----------------------
355+
'a' ? 'b' | 'a' ? 'c'
356+
(1 row)
357+
358+
SELECT '(a|b) ? c'::tsquery;
359+
tsquery
360+
-----------------------
361+
'a' ? 'c' | 'b' ? 'c'
362+
(1 row)
363+
364+
SELECT '(a|b) ? (d|c)'::tsquery;
365+
tsquery
366+
-----------------------------------------------
367+
'a' ? 'd' | 'b' ? 'd' | 'a' ? 'c' | 'b' ? 'c'
368+
(1 row)
369+
370+
SELECT 'a ? (b&c)'::tsquery;
371+
tsquery
372+
-------------------------------
373+
( 'a' ? 'b' ) & ( 'a' ? 'c' )
374+
(1 row)
375+
376+
SELECT '(a&b) ? c'::tsquery;
377+
tsquery
378+
-------------------------------
379+
( 'a' ? 'c' ) & ( 'b' ? 'c' )
380+
(1 row)
381+
382+
SELECT '(a&b) ? (d&c)'::tsquery;
383+
tsquery
384+
---------------------------------------------------------------
385+
( 'a' ? 'd' ) & ( 'b' ? 'd' ) & ( 'a' ? 'c' ) & ( 'b' ? 'c' )
386+
(1 row)
387+
388+
SELECT 'a ? !b'::tsquery;
389+
tsquery
390+
----------------------
391+
'a' & !( 'a' ? 'b' )
392+
(1 row)
393+
394+
SELECT '!a ? b'::tsquery;
395+
tsquery
396+
----------------------
397+
!( 'a' ? 'b' ) & 'b'
398+
(1 row)
399+
400+
SELECT '!a ? !b'::tsquery;
401+
tsquery
402+
----------------------------------
403+
!'a' & !( !( 'a' ? 'b' ) & 'b' )
404+
(1 row)
405+
406+
SELECT 'a ? !(b&c)'::tsquery;
407+
tsquery
408+
------------------------------------------
409+
'a' & !( ( 'a' ? 'b' ) & ( 'a' ? 'c' ) )
410+
(1 row)
411+
412+
SELECT 'a ? !(b|c)'::tsquery;
413+
tsquery
414+
----------------------------------
415+
'a' & !( 'a' ? 'b' | 'a' ? 'c' )
416+
(1 row)
417+
418+
SELECT '!(a&b) ? c'::tsquery;
419+
tsquery
420+
------------------------------------------
421+
!( ( 'a' ? 'c' ) & ( 'b' ? 'c' ) ) & 'c'
422+
(1 row)
423+
424+
SELECT '!(a|b) ? c'::tsquery;
425+
tsquery
426+
----------------------------------
427+
!( 'a' ? 'c' | 'b' ? 'c' ) & 'c'
428+
(1 row)
429+
430+
SELECT '(!a|b) ? c'::tsquery;
431+
tsquery
432+
----------------------------------
433+
!( 'a' ? 'c' ) & 'c' | 'b' ? 'c'
434+
(1 row)
435+
436+
SELECT '(!a&b) ? c'::tsquery;
437+
tsquery
438+
--------------------------------------
439+
!( 'a' ? 'c' ) & 'c' & ( 'b' ? 'c' )
440+
(1 row)
441+
442+
SELECT 'c ? (!a|b)'::tsquery;
443+
tsquery
444+
----------------------------------
445+
'c' & !( 'c' ? 'a' ) | 'c' ? 'b'
446+
(1 row)
447+
448+
SELECT 'c ? (!a&b)'::tsquery;
449+
tsquery
450+
--------------------------------------
451+
'c' & !( 'c' ? 'a' ) & ( 'c' ? 'b' )
452+
(1 row)
453+
454+
SELECT '(a|b) ? !c'::tsquery;
455+
tsquery
456+
--------------------------------------------
457+
( 'a' | 'b' ) & !( 'a' ? 'c' | 'b' ? 'c' )
458+
(1 row)
459+
460+
SELECT '(a&b) ? !c'::tsquery;
461+
tsquery
462+
------------------------------------------------
463+
'a' & 'b' & !( ( 'a' ? 'c' ) & ( 'b' ? 'c' ) )
464+
(1 row)
465+
466+
SELECT '!c ? (a|b)'::tsquery;
467+
tsquery
468+
---------------------------------------------
469+
!( 'c' ? 'a' ) & 'a' | !( 'c' ? 'b' ) & 'b'
470+
(1 row)
471+
472+
SELECT '!c ? (a&b)'::tsquery;
473+
tsquery
474+
---------------------------------------------
475+
!( 'c' ? 'a' ) & 'a' & !( 'c' ? 'b' ) & 'b'
476+
(1 row)
477+
478+
--comparisons
345479
SELECT 'a' < 'b & c'::tsquery as "true";
346480
true
347481
------
@@ -372,6 +506,7 @@ SELECT 'a | f | g' < 'b & c'::tsquery as "false";
372506
f
373507
(1 row)
374508

509+
--concatenation
375510
SELECT numnode( 'new'::tsquery );
376511
numnode
377512
---------
@@ -414,6 +549,36 @@ SELECT 'foo & bar'::tsquery && 'asd | fg';
414549
'foo' & 'bar' & ( 'asd' | 'fg' )
415550
(1 row)
416551

552+
SELECT 'a' ?? 'b & d'::tsquery;
553+
?column?
554+
-------------------------------
555+
( 'a' ? 'b' ) & ( 'a' ? 'd' )
556+
(1 row)
557+
558+
SELECT 'a & g' ?? 'b & d'::tsquery;
559+
?column?
560+
---------------------------------------------------------------
561+
( 'a' ? 'b' ) & ( 'g' ? 'b' ) & ( 'a' ? 'd' ) & ( 'g' ? 'd' )
562+
(1 row)
563+
564+
SELECT 'a & g' ?? 'b | d'::tsquery;
565+
?column?
566+
---------------------------------------------------------------
567+
( 'a' ? 'b' ) & ( 'g' ? 'b' ) | ( 'a' ? 'd' ) & ( 'g' ? 'd' )
568+
(1 row)
569+
570+
SELECT 'a & g' ?? 'b ? d'::tsquery;
571+
?column?
572+
---------------------------------------------------
573+
( 'a' ? ( 'b' ? 'd' ) ) & ( 'g' ? ( 'b' ? 'd' ) )
574+
(1 row)
575+
576+
SELECT tsquery_phrase('a ?[3] g', 'b & d', 10);
577+
tsquery_phrase
578+
-----------------------------------------------------------------
579+
( ( 'a' ?[3] 'g' ) ?[10] 'b' ) & ( ( 'a' ?[3] 'g' ) ?[10] 'd' )
580+
(1 row)
581+
417582
-- tsvector-tsquery operations
418583
SELECT 'a b:89 ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca' as "true";
419584
true
@@ -511,6 +676,82 @@ SELECT 'supeznova supernova'::tsvector @@ 'super:*'::tsquery AS "true";
511676
t
512677
(1 row)
513678

679+
--phrase search
680+
SELECT to_tsvector('simple', '1 2 3 1') @@ '1 ? 2' AS "true";
681+
true
682+
------
683+
t
684+
(1 row)
685+
686+
SELECT to_tsvector('simple', '1 2 3 1') @@ '1 ?[2] 2' AS "true";
687+
true
688+
------
689+
t
690+
(1 row)
691+
692+
SELECT to_tsvector('simple', '1 2 3 1') @@ '1 ? 3' AS "false";
693+
false
694+
-------
695+
f
696+
(1 row)
697+
698+
SELECT to_tsvector('simple', '1 2 3 1') @@ '1 ?[2] 3' AS "true";
699+
true
700+
------
701+
t
702+
(1 row)
703+
704+
705+
SELECT to_tsvector('simple', '1 2 11 3') @@ '1 ? 3' AS "false";
706+
false
707+
-------
708+
f
709+
(1 row)
710+
711+
SELECT to_tsvector('simple', '1 2 11 3') @@ '1:* ? 3' AS "true";
712+
true
713+
------
714+
t
715+
(1 row)
716+
717+
718+
SELECT to_tsvector('simple', '1 2 3 4') @@ '1 ? 2 ? 3' AS "true";
719+
true
720+
------
721+
t
722+
(1 row)
723+
724+
SELECT to_tsvector('simple', '1 2 3 4') @@ '(1 ? 2) ? 3' AS "true";
725+
true
726+
------
727+
t
728+
(1 row)
729+
730+
SELECT to_tsvector('simple', '1 2 3 4') @@ '1 ? (2 ? 3)' AS "false";
731+
false
732+
-------
733+
f
734+
(1 row)
735+
736+
SELECT to_tsvector('simple', '1 2 3 4') @@ '1 ?[2] (2 ? 3)' AS "true";
737+
true
738+
------
739+
t
740+
(1 row)
741+
742+
SELECT to_tsvector('simple', '1 2 1 2 3 4') @@ '(1 ? 2) ? 3' AS "true";
743+
true
744+
------
745+
t
746+
(1 row)
747+
748+
SELECT to_tsvector('simple', '1 2 1 2 3 4') @@ '1 ? 2 ? 3' AS "true";
749+
true
750+
------
751+
t
752+
(1 row)
753+
754+
--ranking
514755
SELECT ts_rank(' a:1 s:2C d g'::tsvector, 'a | s');
515756
ts_rank
516757
-----------
@@ -625,6 +866,66 @@ SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a & s');
625866
0.1
626867
(1 row)
627868

869+
SELECT ts_rank_cd(' a:1 s:2A d g'::tsvector, 'a ? s');
870+
ts_rank_cd
871+
------------
872+
0.181818
873+
(1 row)
874+
875+
SELECT ts_rank_cd(' a:1 s:2C d g'::tsvector, 'a ? s');
876+
ts_rank_cd
877+
------------
878+
0.133333
879+
(1 row)
880+
881+
SELECT ts_rank_cd(' a:1 s:2 d g'::tsvector, 'a ? s');
882+
ts_rank_cd
883+
------------
884+
0.1
885+
(1 row)
886+
887+
SELECT ts_rank_cd(' a:1 s:2 d:2A g'::tsvector, 'a ? s');
888+
ts_rank_cd
889+
------------
890+
0.1
891+
(1 row)
892+
893+
SELECT ts_rank_cd(' a:1 s:2,3A d:2A g'::tsvector, 'a ?[2] s:A');
894+
ts_rank_cd
895+
------------
896+
0.0909091
897+
(1 row)
898+
899+
SELECT ts_rank_cd(' a:1 b:2 s:3A d:2A g'::tsvector, 'a ?[2] s:A');
900+
ts_rank_cd
901+
------------
902+
0.0909091
903+
(1 row)
904+
905+
SELECT ts_rank_cd(' a:1 sa:2D sb:2A g'::tsvector, 'a ? s:*');
906+
ts_rank_cd
907+
------------
908+
0.1
909+
(1 row)
910+
911+
SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a ? s:*');
912+
ts_rank_cd
913+
------------
914+
0.1
915+
(1 row)
916+
917+
SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a ? s:* ? sa:A');
918+
ts_rank_cd
919+
------------
920+
0.0714286
921+
(1 row)
922+
923+
SELECT ts_rank_cd(' a:1 sa:2A sb:2D g'::tsvector, 'a ? s:* ? sa:B');
924+
ts_rank_cd
925+
------------
926+
0
927+
(1 row)
928+
628929
SELECT 'a:1 b:2'::tsvector @@ 'a ? b'::tsquery AS "true";
629930
true
630931
------

0 commit comments

Comments
 (0)