• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

firtst release


Commit MetaInfo

Révision958c60d6b6abcac2387971c3462d663ced8ce783 (tree)
l'heure2015-08-18 09:31:54
AuteurKyotaro Horiguchi <horiguchi.kyotaro@lab....>
CommiterKyotaro Horiguchi

Message de Log

Made compatible with 9.5a1

Made make_join_rel.c to catch up REL9_5_ALPHA2. Changed regression
tests following some differences of PostgreSQL's behavior in such like
collapsing of simple VALUES clause, rows estimation and explain
representation of join filter.

Change Summary

Modification

--- a/expected/ut-A.out
+++ b/expected/ut-A.out
@@ -4276,7 +4276,12 @@ SQL statement "SELECT /*+ IndexScan(t_1) */ nested_planner(cnt - 1)
42764276 ORDER BY t_1.c1 LIMIT 1"
42774277 PL/pgSQL function nested_planner(integer) line 12 at SQL statement
42784278 LOG: pg_hint_plan:
4279-no hint
4279+used hint:
4280+IndexScan(t_1)
4281+not used hint:
4282+duplication hint:
4283+error hint:
4284+
42804285 CONTEXT: SQL statement "SELECT /*+ IndexScan(t_1) */ nested_planner(cnt - 1) FROM s1.t1 t_1
42814286 JOIN s1.t2 t_2 ON (t_1.c1 = t_2.c1)
42824287 ORDER BY t_1.c1 LIMIT 1"
--- a/expected/ut-J.out
+++ b/expected/ut-J.out
@@ -3763,17 +3763,14 @@ error hint:
37633763 ----
37643764 -- No. J-2-4-1
37653765 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3766- QUERY PLAN
3767--------------------------------------------------
3766+ QUERY PLAN
3767+------------------------------------
37683768 Nested Loop
3769- -> Hash Join
3770- Hash Cond: (t2.c1 = "*VALUES*".column1)
3771- -> Seq Scan on t2
3772- -> Hash
3773- -> Values Scan on "*VALUES*"
37743769 -> Index Scan using t1_i1 on t1
3775- Index Cond: (c1 = t2.c1)
3776-(8 rows)
3770+ Index Cond: (c1 = 1)
3771+ -> Seq Scan on t2
3772+ Filter: (c1 = 1)
3773+(5 rows)
37773774
37783775 /*+ Leading(t3 t1 t2) HashJoin(t3 t1)NestLoop(t3 t1 t2)*/
37793776 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
@@ -3786,20 +3783,17 @@ Leading(t3 t1 t2)
37863783 duplication hint:
37873784 error hint:
37883785
3789- QUERY PLAN
3790--------------------------------------------------
3786+ QUERY PLAN
3787+------------------------------------
37913788 Nested Loop
3792- -> Hash Join
3793- Hash Cond: (t2.c1 = "*VALUES*".column1)
3794- -> Seq Scan on t2
3795- -> Hash
3796- -> Values Scan on "*VALUES*"
37973789 -> Index Scan using t1_i1 on t1
3798- Index Cond: (c1 = t2.c1)
3799-(8 rows)
3790+ Index Cond: (c1 = 1)
3791+ -> Seq Scan on t2
3792+ Filter: (c1 = 1)
3793+(5 rows)
38003794
38013795 /*+ Leading(*VALUES* t1 t2) HashJoin(*VALUES* t1)NestLoop(*VALUES* t1 t2)*/
3802-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3796+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
38033797 LOG: pg_hint_plan:
38043798 used hint:
38053799 HashJoin(*VALUES* t1)
@@ -3822,24 +3816,25 @@ error hint:
38223816 (8 rows)
38233817
38243818 -- No. J-2-4-2
3825-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3819+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
38263820 QUERY PLAN
38273821 -------------------------------------------------------
38283822 Nested Loop
3829- Join Filter: (t1.c1 = "*VALUES*_1".column1)
38303823 -> Nested Loop
3824+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
38313825 -> Hash Join
38323826 Hash Cond: (t2.c1 = "*VALUES*".column1)
38333827 -> Seq Scan on t2
38343828 -> Hash
38353829 -> Values Scan on "*VALUES*"
3836- -> Index Scan using t1_i1 on t1
3837- Index Cond: (c1 = t2.c1)
3838- -> Values Scan on "*VALUES*_1"
3839-(11 rows)
3830+ -> Materialize
3831+ -> Values Scan on "*VALUES*_1"
3832+ -> Index Scan using t1_i1 on t1
3833+ Index Cond: (c1 = t2.c1)
3834+(12 rows)
38403835
38413836 /*+ Leading(t4 t3 t2 t1) NestLoop(t4 t3)HashJoin(t4 t3 t2)MergeJoin(t4 t3 t2 t1)*/
3842-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3837+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
38433838 LOG: pg_hint_plan:
38443839 used hint:
38453840 not used hint:
@@ -3853,20 +3848,21 @@ error hint:
38533848 QUERY PLAN
38543849 -------------------------------------------------------
38553850 Nested Loop
3856- Join Filter: (t1.c1 = "*VALUES*_1".column1)
38573851 -> Nested Loop
3852+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
38583853 -> Hash Join
38593854 Hash Cond: (t2.c1 = "*VALUES*".column1)
38603855 -> Seq Scan on t2
38613856 -> Hash
38623857 -> Values Scan on "*VALUES*"
3863- -> Index Scan using t1_i1 on t1
3864- Index Cond: (c1 = t2.c1)
3865- -> Values Scan on "*VALUES*_1"
3866-(11 rows)
3858+ -> Materialize
3859+ -> Values Scan on "*VALUES*_1"
3860+ -> Index Scan using t1_i1 on t1
3861+ Index Cond: (c1 = t2.c1)
3862+(12 rows)
38673863
38683864 /*+ Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)*/
3869-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3865+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
38703866 INFO: pg_hint_plan: hint syntax error at or near "HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)"
38713867 DETAIL: Relation name "*VALUES*" is ambiguous.
38723868 INFO: pg_hint_plan: hint syntax error at or near "MergeJoin(*VALUES* t3 t2 t1)"
@@ -3886,17 +3882,18 @@ Leading(*VALUES* t3 t2 t1)
38863882 QUERY PLAN
38873883 -------------------------------------------------------
38883884 Nested Loop
3889- Join Filter: (t1.c1 = "*VALUES*_1".column1)
38903885 -> Nested Loop
3886+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
38913887 -> Hash Join
38923888 Hash Cond: (t2.c1 = "*VALUES*".column1)
38933889 -> Seq Scan on t2
38943890 -> Hash
38953891 -> Values Scan on "*VALUES*"
3896- -> Index Scan using t1_i1 on t1
3897- Index Cond: (c1 = t2.c1)
3898- -> Values Scan on "*VALUES*_1"
3899-(11 rows)
3892+ -> Materialize
3893+ -> Values Scan on "*VALUES*_1"
3894+ -> Index Scan using t1_i1 on t1
3895+ Index Cond: (c1 = t2.c1)
3896+(12 rows)
39003897
39013898 ----
39023899 ---- No. J-3-1 join method hint
--- a/expected/ut-L.out
+++ b/expected/ut-L.out
@@ -926,7 +926,7 @@ error hint:
926926 (10 rows)
927927
928928 -- No. L-1-6-8
929-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
929+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
930930 QUERY PLAN
931931 -------------------------------------------------------
932932 Nested Loop
@@ -945,7 +945,7 @@ EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4),
945945 (13 rows)
946946
947947 /*+Leading(t4 t3 t2 t1)*/
948-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
948+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
949949 LOG: pg_hint_plan:
950950 used hint:
951951 not used hint:
@@ -3597,7 +3597,7 @@ error hint:
35973597 ---- No. L-2-4 VALUES clause
35983598 ----
35993599 -- No. L-2-4-1
3600-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3600+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
36013601 QUERY PLAN
36023602 -------------------------------------------------
36033603 Nested Loop
@@ -3611,7 +3611,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1,
36113611 (8 rows)
36123612
36133613 /*+ Leading(t3 t1 t2) */
3614-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3614+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
36153615 LOG: pg_hint_plan:
36163616 used hint:
36173617 not used hint:
@@ -3632,7 +3632,7 @@ error hint:
36323632 (8 rows)
36333633
36343634 /*+ Leading(*VALUES* t1 t2) */
3635-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
3635+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
36363636 LOG: pg_hint_plan:
36373637 used hint:
36383638 Leading(*VALUES* t1 t2)
@@ -3652,24 +3652,25 @@ error hint:
36523652 (7 rows)
36533653
36543654 -- No. L-2-4-2
3655-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3655+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
36563656 QUERY PLAN
36573657 -------------------------------------------------------
36583658 Nested Loop
3659- Join Filter: (t1.c1 = "*VALUES*_1".column1)
36603659 -> Nested Loop
3660+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
36613661 -> Hash Join
36623662 Hash Cond: (t2.c1 = "*VALUES*".column1)
36633663 -> Seq Scan on t2
36643664 -> Hash
36653665 -> Values Scan on "*VALUES*"
3666- -> Index Scan using t1_i1 on t1
3667- Index Cond: (c1 = t2.c1)
3668- -> Values Scan on "*VALUES*_1"
3669-(11 rows)
3666+ -> Materialize
3667+ -> Values Scan on "*VALUES*_1"
3668+ -> Index Scan using t1_i1 on t1
3669+ Index Cond: (c1 = t2.c1)
3670+(12 rows)
36703671
36713672 /*+ Leading(t4 t3 t2 t1) */
3672-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3673+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
36733674 LOG: pg_hint_plan:
36743675 used hint:
36753676 not used hint:
@@ -3680,20 +3681,21 @@ error hint:
36803681 QUERY PLAN
36813682 -------------------------------------------------------
36823683 Nested Loop
3683- Join Filter: (t1.c1 = "*VALUES*_1".column1)
36843684 -> Nested Loop
3685+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
36853686 -> Hash Join
36863687 Hash Cond: (t2.c1 = "*VALUES*".column1)
36873688 -> Seq Scan on t2
36883689 -> Hash
36893690 -> Values Scan on "*VALUES*"
3690- -> Index Scan using t1_i1 on t1
3691- Index Cond: (c1 = t2.c1)
3692- -> Values Scan on "*VALUES*_1"
3693-(11 rows)
3691+ -> Materialize
3692+ -> Values Scan on "*VALUES*_1"
3693+ -> Index Scan using t1_i1 on t1
3694+ Index Cond: (c1 = t2.c1)
3695+(12 rows)
36943696
36953697 /*+ Leading(*VALUES* t3 t2 t1) */
3696-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
3698+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
36973699 INFO: pg_hint_plan: hint syntax error at or near "Leading(*VALUES* t3 t2 t1) "
36983700 DETAIL: Relation name "*VALUES*" is ambiguous.
36993701 LOG: pg_hint_plan:
@@ -3706,17 +3708,18 @@ Leading(*VALUES* t3 t2 t1)
37063708 QUERY PLAN
37073709 -------------------------------------------------------
37083710 Nested Loop
3709- Join Filter: (t1.c1 = "*VALUES*_1".column1)
37103711 -> Nested Loop
3712+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
37113713 -> Hash Join
37123714 Hash Cond: (t2.c1 = "*VALUES*".column1)
37133715 -> Seq Scan on t2
37143716 -> Hash
37153717 -> Values Scan on "*VALUES*"
3716- -> Index Scan using t1_i1 on t1
3717- Index Cond: (c1 = t2.c1)
3718- -> Values Scan on "*VALUES*_1"
3719-(11 rows)
3718+ -> Materialize
3719+ -> Values Scan on "*VALUES*_1"
3720+ -> Index Scan using t1_i1 on t1
3721+ Index Cond: (c1 = t2.c1)
3722+(12 rows)
37203723
37213724 ----
37223725 ---- No. L-3-1 leading the order of table joins
--- a/expected/ut-R.out
+++ b/expected/ut-R.out
@@ -474,7 +474,7 @@ EXPLAIN SELECT * FROM s1.t1, s1.t2, s1.t3 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
474474 -> Merge Join (cost=xxx rows=1000 width=xxx)
475475 Merge Cond: (t1.c1 = t3.c1)
476476 -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
477- -> Index Scan using t3_i1 on t3 (cost=xxx rows=1100 width=xxx)
477+ -> Index Scan using t3_i1 on t3 (cost=xxx rows=1130 width=xxx)
478478 -> Sort (cost=xxx rows=100 width=xxx)
479479 Sort Key: t2.c1
480480 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
@@ -496,7 +496,7 @@ DETAIL: Unrecognized hint keyword "".
496496 -> Merge Join (cost=xxx rows=1000 width=xxx)
497497 Merge Cond: (t1.c1 = t3.c1)
498498 -> Index Scan using t1_i1 on t1 (cost=xxx rows=1000 width=xxx)
499- -> Index Scan using t3_i1 on t3 (cost=xxx rows=1100 width=xxx)
499+ -> Index Scan using t3_i1 on t3 (cost=xxx rows=1130 width=xxx)
500500 -> Sort (cost=xxx rows=100 width=xxx)
501501 Sort Key: t2.c1
502502 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
@@ -588,11 +588,11 @@ EXPLAIN SELECT * FROM s1.ul1 t1, s1.ul1 t2 WHERE t1.c1 = t2.c1;
588588 \! sql/maskout.sh results/ut-R.tmpout
589589 QUERY PLAN
590590 -----------------------------------------------------------------------
591- Hash Join (cost=xxx rows=1100 width=xxx)
591+ Hash Join (cost=xxx rows=1130 width=xxx)
592592 Hash Cond: (t1.c1 = t2.c1)
593- -> Seq Scan on ul1 t1 (cost=xxx rows=1100 width=xxx)
594- -> Hash (cost=xxx rows=1100 width=xxx)
595- -> Seq Scan on ul1 t2 (cost=xxx rows=1100 width=xxx)
593+ -> Seq Scan on ul1 t1 (cost=xxx rows=1130 width=xxx)
594+ -> Hash (cost=xxx rows=1130 width=xxx)
595+ -> Seq Scan on ul1 t2 (cost=xxx rows=1130 width=xxx)
596596 (5 rows)
597597
598598 \o results/ut-R.tmpout
@@ -611,9 +611,9 @@ error hint:
611611 -----------------------------------------------------------------------
612612 Hash Join (cost=xxx rows=1 width=xxx)
613613 Hash Cond: (t1.c1 = t2.c1)
614- -> Seq Scan on ul1 t1 (cost=xxx rows=1100 width=xxx)
615- -> Hash (cost=xxx rows=1100 width=xxx)
616- -> Seq Scan on ul1 t2 (cost=xxx rows=1100 width=xxx)
614+ -> Seq Scan on ul1 t1 (cost=xxx rows=1130 width=xxx)
615+ -> Hash (cost=xxx rows=1130 width=xxx)
616+ -> Seq Scan on ul1 t2 (cost=xxx rows=1130 width=xxx)
617617 (5 rows)
618618
619619 -- No. R-1-6-4
@@ -624,11 +624,11 @@ EXPLAIN SELECT * FROM tm1 t1, tm1 t2 WHERE t1.c1 = t2.c1;
624624 \! sql/maskout.sh results/ut-R.tmpout
625625 QUERY PLAN
626626 -----------------------------------------------------------------------
627- Hash Join (cost=xxx rows=1100 width=xxx)
627+ Hash Join (cost=xxx rows=1130 width=xxx)
628628 Hash Cond: (t1.c1 = t2.c1)
629- -> Seq Scan on tm1 t1 (cost=xxx rows=1100 width=xxx)
630- -> Hash (cost=xxx rows=1100 width=xxx)
631- -> Seq Scan on tm1 t2 (cost=xxx rows=1100 width=xxx)
629+ -> Seq Scan on tm1 t1 (cost=xxx rows=1130 width=xxx)
630+ -> Hash (cost=xxx rows=1130 width=xxx)
631+ -> Seq Scan on tm1 t2 (cost=xxx rows=1130 width=xxx)
632632 (5 rows)
633633
634634 \o results/ut-R.tmpout
@@ -647,9 +647,9 @@ error hint:
647647 -----------------------------------------------------------------------
648648 Hash Join (cost=xxx rows=1 width=xxx)
649649 Hash Cond: (t1.c1 = t2.c1)
650- -> Seq Scan on tm1 t1 (cost=xxx rows=1100 width=xxx)
651- -> Hash (cost=xxx rows=1100 width=xxx)
652- -> Seq Scan on tm1 t2 (cost=xxx rows=1100 width=xxx)
650+ -> Seq Scan on tm1 t1 (cost=xxx rows=1130 width=xxx)
651+ -> Hash (cost=xxx rows=1130 width=xxx)
652+ -> Seq Scan on tm1 t2 (cost=xxx rows=1130 width=xxx)
653653 (5 rows)
654654
655655 -- No. R-1-6-5
@@ -1127,11 +1127,11 @@ error hint:
11271127 Join Filter: (b1t2.c1 = b1t1.c1)
11281128 -> Hash Join (cost=xxx rows=100 width=xxx)
11291129 Hash Cond: (b1t4.c1 = b1t2.c1)
1130- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1130+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
11311131 -> Hash (cost=xxx rows=100 width=xxx)
11321132 -> Merge Join (cost=xxx rows=100 width=xxx)
11331133 Merge Cond: (b1t3.c1 = b1t2.c1)
1134- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1134+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
11351135 -> Sort (cost=xxx rows=100 width=xxx)
11361136 Sort Key: b1t2.c1
11371137 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1142,10 +1142,10 @@ error hint:
11421142 -> Nested Loop (cost=xxx rows=100 width=xxx)
11431143 -> Hash Join (cost=xxx rows=1000 width=xxx)
11441144 Hash Cond: (b2t3.c1 = b2t1.c1)
1145- -> Merge Join (cost=xxx rows=1100 width=xxx)
1145+ -> Merge Join (cost=xxx rows=1130 width=xxx)
11461146 Merge Cond: (b2t3.c1 = b2t4.c1)
1147- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1148- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1147+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1148+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
11491149 -> Hash (cost=xxx rows=1000 width=xxx)
11501150 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
11511151 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
@@ -1154,7 +1154,7 @@ error hint:
11541154 Join Filter: (bmt1.c1 = bmt4.c1)
11551155 -> Hash Join (cost=xxx rows=100 width=xxx)
11561156 Hash Cond: (bmt3.c1 = bmt1.c1)
1157- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1157+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
11581158 -> Hash (cost=xxx rows=100 width=xxx)
11591159 -> Merge Join (cost=xxx rows=100 width=xxx)
11601160 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1223,11 +1223,11 @@ error hint:
12231223 Join Filter: (b1t2.c1 = b1t1.c1)
12241224 -> Hash Join (cost=xxx rows=1 width=xxx)
12251225 Hash Cond: (b1t4.c1 = b1t2.c1)
1226- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1226+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
12271227 -> Hash (cost=xxx rows=1 width=xxx)
12281228 -> Merge Join (cost=xxx rows=1 width=xxx)
12291229 Merge Cond: (b1t3.c1 = b1t2.c1)
1230- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1230+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
12311231 -> Sort (cost=xxx rows=100 width=xxx)
12321232 Sort Key: b1t2.c1
12331233 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1242,15 +1242,15 @@ error hint:
12421242 -> Hash (cost=xxx rows=1 width=xxx)
12431243 -> Merge Join (cost=xxx rows=1 width=xxx)
12441244 Merge Cond: (b2t3.c1 = b2t4.c1)
1245- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1246- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1245+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1246+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
12471247 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
12481248 Index Cond: (c1 = b2t1.c1)
12491249 -> Nested Loop (cost=xxx rows=1 width=xxx)
12501250 Join Filter: (bmt1.c1 = bmt4.c1)
12511251 -> Hash Join (cost=xxx rows=1 width=xxx)
12521252 Hash Cond: (bmt3.c1 = bmt1.c1)
1253- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1253+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
12541254 -> Hash (cost=xxx rows=1 width=xxx)
12551255 -> Merge Join (cost=xxx rows=1 width=xxx)
12561256 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1317,11 +1317,11 @@ error hint:
13171317 Join Filter: (b1t2.c1 = b1t1.c1)
13181318 -> Hash Join (cost=xxx rows=100 width=xxx)
13191319 Hash Cond: (b1t4.c1 = b1t2.c1)
1320- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1320+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
13211321 -> Hash (cost=xxx rows=100 width=xxx)
13221322 -> Merge Join (cost=xxx rows=100 width=xxx)
13231323 Merge Cond: (b1t3.c1 = b1t2.c1)
1324- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1324+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
13251325 -> Sort (cost=xxx rows=100 width=xxx)
13261326 Sort Key: b1t2.c1
13271327 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1332,10 +1332,10 @@ error hint:
13321332 -> Nested Loop (cost=xxx rows=100 width=xxx)
13331333 -> Hash Join (cost=xxx rows=1000 width=xxx)
13341334 Hash Cond: (b2t3.c1 = b2t1.c1)
1335- -> Merge Join (cost=xxx rows=1100 width=xxx)
1335+ -> Merge Join (cost=xxx rows=1130 width=xxx)
13361336 Merge Cond: (b2t3.c1 = b2t4.c1)
1337- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1338- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1337+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1338+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
13391339 -> Hash (cost=xxx rows=1000 width=xxx)
13401340 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
13411341 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
@@ -1349,7 +1349,7 @@ error hint:
13491349 -> Merge Join (cost=xxx rows=1000 width=xxx)
13501350 Merge Cond: (b3t1.c1 = b3t4.c1)
13511351 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1352- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
1352+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
13531353 -> Hash (cost=xxx rows=100 width=xxx)
13541354 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
13551355 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -1358,7 +1358,7 @@ error hint:
13581358 Join Filter: (bmt1.c1 = bmt4.c1)
13591359 -> Hash Join (cost=xxx rows=100 width=xxx)
13601360 Hash Cond: (bmt3.c1 = bmt1.c1)
1361- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1361+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
13621362 -> Hash (cost=xxx rows=100 width=xxx)
13631363 -> Merge Join (cost=xxx rows=100 width=xxx)
13641364 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1440,11 +1440,11 @@ error hint:
14401440 Join Filter: (b1t2.c1 = b1t1.c1)
14411441 -> Hash Join (cost=xxx rows=1 width=xxx)
14421442 Hash Cond: (b1t4.c1 = b1t2.c1)
1443- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1443+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
14441444 -> Hash (cost=xxx rows=1 width=xxx)
14451445 -> Merge Join (cost=xxx rows=1 width=xxx)
14461446 Merge Cond: (b1t3.c1 = b1t2.c1)
1447- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1447+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
14481448 -> Sort (cost=xxx rows=100 width=xxx)
14491449 Sort Key: b1t2.c1
14501450 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1459,8 +1459,8 @@ error hint:
14591459 -> Hash (cost=xxx rows=1 width=xxx)
14601460 -> Merge Join (cost=xxx rows=1 width=xxx)
14611461 Merge Cond: (b2t3.c1 = b2t4.c1)
1462- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1463- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1462+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1463+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
14641464 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
14651465 Index Cond: (c1 = b2t1.c1)
14661466 InitPlan 3 (returns $5)
@@ -1472,7 +1472,7 @@ error hint:
14721472 -> Merge Join (cost=xxx rows=1 width=xxx)
14731473 Merge Cond: (b3t1.c1 = b3t4.c1)
14741474 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1475- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
1475+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
14761476 -> Hash (cost=xxx rows=100 width=xxx)
14771477 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
14781478 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -1481,7 +1481,7 @@ error hint:
14811481 Join Filter: (bmt1.c1 = bmt4.c1)
14821482 -> Hash Join (cost=xxx rows=1 width=xxx)
14831483 Hash Cond: (bmt3.c1 = bmt1.c1)
1484- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1484+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
14851485 -> Hash (cost=xxx rows=1 width=xxx)
14861486 -> Merge Join (cost=xxx rows=1 width=xxx)
14871487 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1518,11 +1518,11 @@ error hint:
15181518 Sort Key: bmt2.c1
15191519 -> Hash Join (cost=xxx rows=100 width=xxx)
15201520 Hash Cond: (bmt3.c1 = bmt2.c1)
1521- -> Hash Join (cost=xxx rows=1100 width=xxx)
1521+ -> Hash Join (cost=xxx rows=1130 width=xxx)
15221522 Hash Cond: (bmt3.c1 = bmt4.c1)
1523- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1524- -> Hash (cost=xxx rows=1100 width=xxx)
1525- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
1523+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1524+ -> Hash (cost=xxx rows=1130 width=xxx)
1525+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
15261526 -> Hash (cost=xxx rows=100 width=xxx)
15271527 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
15281528 (15 rows)
@@ -1553,9 +1553,9 @@ error hint:
15531553 -> Nested Loop (cost=xxx rows=1 width=xxx)
15541554 -> Hash Join (cost=xxx rows=1 width=xxx)
15551555 Hash Cond: (bmt3.c1 = bmt4.c1)
1556- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1557- -> Hash (cost=xxx rows=1100 width=xxx)
1558- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
1556+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1557+ -> Hash (cost=xxx rows=1130 width=xxx)
1558+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
15591559 -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
15601560 Index Cond: (c1 = bmt3.c1)
15611561 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
@@ -1587,11 +1587,11 @@ error hint:
15871587 Sort Key: bmt2.c1
15881588 -> Hash Join (cost=xxx rows=100 width=xxx)
15891589 Hash Cond: (bmt3.c1 = bmt2.c1)
1590- -> Hash Join (cost=xxx rows=1100 width=xxx)
1590+ -> Hash Join (cost=xxx rows=1130 width=xxx)
15911591 Hash Cond: (bmt3.c1 = bmt4.c1)
1592- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1593- -> Hash (cost=xxx rows=1100 width=xxx)
1594- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
1592+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1593+ -> Hash (cost=xxx rows=1130 width=xxx)
1594+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
15951595 -> Hash (cost=xxx rows=100 width=xxx)
15961596 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
15971597 (15 rows)
@@ -1622,9 +1622,9 @@ error hint:
16221622 -> Nested Loop (cost=xxx rows=1 width=xxx)
16231623 -> Hash Join (cost=xxx rows=1 width=xxx)
16241624 Hash Cond: (bmt3.c1 = bmt4.c1)
1625- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1626- -> Hash (cost=xxx rows=1100 width=xxx)
1627- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
1625+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
1626+ -> Hash (cost=xxx rows=1130 width=xxx)
1627+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
16281628 -> Index Only Scan using t2_i1 on t2 bmt2 (cost=xxx rows=1 width=xxx)
16291629 Index Cond: (c1 = bmt3.c1)
16301630 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1 width=xxx)
@@ -1677,11 +1677,11 @@ error hint:
16771677 Join Filter: (b1t2.c1 = b1t1.c1)
16781678 -> Hash Join (cost=xxx rows=100 width=xxx)
16791679 Hash Cond: (b1t4.c1 = b1t2.c1)
1680- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1680+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
16811681 -> Hash (cost=xxx rows=100 width=xxx)
16821682 -> Merge Join (cost=xxx rows=100 width=xxx)
16831683 Merge Cond: (b1t3.c1 = b1t2.c1)
1684- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1684+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
16851685 -> Sort (cost=xxx rows=100 width=xxx)
16861686 Sort Key: b1t2.c1
16871687 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1692,10 +1692,10 @@ error hint:
16921692 -> Nested Loop (cost=xxx rows=100 width=xxx)
16931693 -> Hash Join (cost=xxx rows=1000 width=xxx)
16941694 Hash Cond: (b2t3.c1 = b2t1.c1)
1695- -> Merge Join (cost=xxx rows=1100 width=xxx)
1695+ -> Merge Join (cost=xxx rows=1130 width=xxx)
16961696 Merge Cond: (b2t3.c1 = b2t4.c1)
1697- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1698- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1697+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1698+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
16991699 -> Hash (cost=xxx rows=1000 width=xxx)
17001700 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
17011701 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
@@ -1704,7 +1704,7 @@ error hint:
17041704 Join Filter: (bmt1.c1 = bmt4.c1)
17051705 -> Hash Join (cost=xxx rows=100 width=xxx)
17061706 Hash Cond: (bmt3.c1 = bmt1.c1)
1707- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1707+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
17081708 -> Hash (cost=xxx rows=100 width=xxx)
17091709 -> Merge Join (cost=xxx rows=100 width=xxx)
17101710 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1775,11 +1775,11 @@ error hint:
17751775 Join Filter: (b1t2.c1 = b1t1.c1)
17761776 -> Hash Join (cost=xxx rows=1 width=xxx)
17771777 Hash Cond: (b1t4.c1 = b1t2.c1)
1778- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1778+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
17791779 -> Hash (cost=xxx rows=1 width=xxx)
17801780 -> Merge Join (cost=xxx rows=1 width=xxx)
17811781 Merge Cond: (b1t3.c1 = b1t2.c1)
1782- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1782+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
17831783 -> Sort (cost=xxx rows=100 width=xxx)
17841784 Sort Key: b1t2.c1
17851785 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1794,15 +1794,15 @@ error hint:
17941794 -> Hash (cost=xxx rows=1 width=xxx)
17951795 -> Merge Join (cost=xxx rows=1 width=xxx)
17961796 Merge Cond: (b2t3.c1 = b2t4.c1)
1797- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1798- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1797+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1798+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
17991799 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
18001800 Index Cond: (c1 = b2t1.c1)
18011801 -> Nested Loop (cost=xxx rows=1 width=xxx)
18021802 Join Filter: (bmt1.c1 = bmt4.c1)
18031803 -> Hash Join (cost=xxx rows=1 width=xxx)
18041804 Hash Cond: (bmt3.c1 = bmt1.c1)
1805- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1805+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
18061806 -> Hash (cost=xxx rows=1 width=xxx)
18071807 -> Merge Join (cost=xxx rows=1 width=xxx)
18081808 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1870,11 +1870,11 @@ error hint:
18701870 Join Filter: (b1t2.c1 = b1t1.c1)
18711871 -> Hash Join (cost=xxx rows=100 width=xxx)
18721872 Hash Cond: (b1t4.c1 = b1t2.c1)
1873- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1873+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
18741874 -> Hash (cost=xxx rows=100 width=xxx)
18751875 -> Merge Join (cost=xxx rows=100 width=xxx)
18761876 Merge Cond: (b1t3.c1 = b1t2.c1)
1877- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
1877+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
18781878 -> Sort (cost=xxx rows=100 width=xxx)
18791879 Sort Key: b1t2.c1
18801880 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -1885,10 +1885,10 @@ error hint:
18851885 -> Nested Loop (cost=xxx rows=100 width=xxx)
18861886 -> Hash Join (cost=xxx rows=1000 width=xxx)
18871887 Hash Cond: (b2t3.c1 = b2t1.c1)
1888- -> Merge Join (cost=xxx rows=1100 width=xxx)
1888+ -> Merge Join (cost=xxx rows=1130 width=xxx)
18891889 Merge Cond: (b2t3.c1 = b2t4.c1)
1890- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
1891- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
1890+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
1891+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
18921892 -> Hash (cost=xxx rows=1000 width=xxx)
18931893 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
18941894 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
@@ -1902,7 +1902,7 @@ error hint:
19021902 -> Merge Join (cost=xxx rows=1000 width=xxx)
19031903 Merge Cond: (b3t1.c1 = b3t4.c1)
19041904 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
1905- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
1905+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
19061906 -> Hash (cost=xxx rows=100 width=xxx)
19071907 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
19081908 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -1911,7 +1911,7 @@ error hint:
19111911 Join Filter: (bmt1.c1 = bmt4.c1)
19121912 -> Hash Join (cost=xxx rows=100 width=xxx)
19131913 Hash Cond: (bmt3.c1 = bmt1.c1)
1914- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
1914+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
19151915 -> Hash (cost=xxx rows=100 width=xxx)
19161916 -> Merge Join (cost=xxx rows=100 width=xxx)
19171917 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -1994,11 +1994,11 @@ error hint:
19941994 Join Filter: (b1t2.c1 = b1t1.c1)
19951995 -> Hash Join (cost=xxx rows=1 width=xxx)
19961996 Hash Cond: (b1t4.c1 = b1t2.c1)
1997- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
1997+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
19981998 -> Hash (cost=xxx rows=1 width=xxx)
19991999 -> Merge Join (cost=xxx rows=1 width=xxx)
20002000 Merge Cond: (b1t3.c1 = b1t2.c1)
2001- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2001+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
20022002 -> Sort (cost=xxx rows=100 width=xxx)
20032003 Sort Key: b1t2.c1
20042004 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -2013,8 +2013,8 @@ error hint:
20132013 -> Hash (cost=xxx rows=1 width=xxx)
20142014 -> Merge Join (cost=xxx rows=1 width=xxx)
20152015 Merge Cond: (b2t3.c1 = b2t4.c1)
2016- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2017- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2016+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2017+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
20182018 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
20192019 Index Cond: (c1 = b2t1.c1)
20202020 InitPlan 3 (returns $5)
@@ -2026,7 +2026,7 @@ error hint:
20262026 -> Merge Join (cost=xxx rows=1 width=xxx)
20272027 Merge Cond: (b3t1.c1 = b3t4.c1)
20282028 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2029- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
2029+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
20302030 -> Hash (cost=xxx rows=100 width=xxx)
20312031 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
20322032 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -2035,7 +2035,7 @@ error hint:
20352035 Join Filter: (bmt1.c1 = bmt4.c1)
20362036 -> Hash Join (cost=xxx rows=1 width=xxx)
20372037 Hash Cond: (bmt3.c1 = bmt1.c1)
2038- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2038+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
20392039 -> Hash (cost=xxx rows=1 width=xxx)
20402040 -> Merge Join (cost=xxx rows=1 width=xxx)
20412041 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -2102,11 +2102,11 @@ error hint:
21022102 Join Filter: (b1t2.c1 = b1t1.c1)
21032103 -> Hash Join (cost=xxx rows=100 width=xxx)
21042104 Hash Cond: (b1t4.c1 = b1t2.c1)
2105- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
2105+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
21062106 -> Hash (cost=xxx rows=100 width=xxx)
21072107 -> Merge Join (cost=xxx rows=100 width=xxx)
21082108 Merge Cond: (b1t3.c1 = b1t2.c1)
2109- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2109+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
21102110 -> Sort (cost=xxx rows=100 width=xxx)
21112111 Sort Key: b1t2.c1
21122112 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -2117,21 +2117,21 @@ error hint:
21172117 -> Nested Loop (cost=xxx rows=100 width=xxx)
21182118 -> Hash Join (cost=xxx rows=1000 width=xxx)
21192119 Hash Cond: (b2t3.c1 = b2t1.c1)
2120- -> Merge Join (cost=xxx rows=1100 width=xxx)
2120+ -> Merge Join (cost=xxx rows=1130 width=xxx)
21212121 Merge Cond: (b2t3.c1 = b2t4.c1)
2122- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2123- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2122+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2123+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
21242124 -> Hash (cost=xxx rows=1000 width=xxx)
21252125 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
21262126 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
21272127 Index Cond: (c1 = b2t1.c1)
21282128 -> Hash Join (cost=xxx rows=1 width=xxx)
21292129 Hash Cond: (bmt4.c1 = bmt1.c1)
2130- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
2130+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
21312131 -> Hash (cost=xxx rows=1 width=xxx)
21322132 -> Merge Join (cost=xxx rows=1 width=xxx)
21332133 Merge Cond: (bmt3.c1 = bmt1.c1)
2134- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2134+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
21352135 -> Sort (cost=xxx rows=1 width=xxx)
21362136 Sort Key: bmt1.c1
21372137 -> Nested Loop (cost=xxx rows=1 width=xxx)
@@ -2217,11 +2217,11 @@ error hint:
22172217 Join Filter: (b1t2.c1 = b1t1.c1)
22182218 -> Hash Join (cost=xxx rows=1 width=xxx)
22192219 Hash Cond: (b1t4.c1 = b1t2.c1)
2220- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
2220+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
22212221 -> Hash (cost=xxx rows=1 width=xxx)
22222222 -> Merge Join (cost=xxx rows=1 width=xxx)
22232223 Merge Cond: (b1t3.c1 = b1t2.c1)
2224- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2224+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
22252225 -> Sort (cost=xxx rows=100 width=xxx)
22262226 Sort Key: b1t2.c1
22272227 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -2236,17 +2236,17 @@ error hint:
22362236 -> Hash (cost=xxx rows=1 width=xxx)
22372237 -> Merge Join (cost=xxx rows=1 width=xxx)
22382238 Merge Cond: (b2t3.c1 = b2t4.c1)
2239- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2240- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2239+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2240+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
22412241 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
22422242 Index Cond: (c1 = b2t1.c1)
22432243 -> Hash Join (cost=xxx rows=1 width=xxx)
22442244 Hash Cond: (bmt4.c1 = bmt1.c1)
2245- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
2245+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
22462246 -> Hash (cost=xxx rows=1 width=xxx)
22472247 -> Merge Join (cost=xxx rows=1 width=xxx)
22482248 Merge Cond: (bmt3.c1 = bmt1.c1)
2249- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2249+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
22502250 -> Sort (cost=xxx rows=1 width=xxx)
22512251 Sort Key: bmt1.c1
22522252 -> Nested Loop (cost=xxx rows=1 width=xxx)
@@ -2330,11 +2330,11 @@ error hint:
23302330 Join Filter: (b1t2.c1 = b1t1.c1)
23312331 -> Hash Join (cost=xxx rows=100 width=xxx)
23322332 Hash Cond: (b1t4.c1 = b1t2.c1)
2333- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
2333+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
23342334 -> Hash (cost=xxx rows=100 width=xxx)
23352335 -> Merge Join (cost=xxx rows=100 width=xxx)
23362336 Merge Cond: (b1t3.c1 = b1t2.c1)
2337- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2337+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
23382338 -> Sort (cost=xxx rows=100 width=xxx)
23392339 Sort Key: b1t2.c1
23402340 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -2345,10 +2345,10 @@ error hint:
23452345 -> Nested Loop (cost=xxx rows=100 width=xxx)
23462346 -> Hash Join (cost=xxx rows=1000 width=xxx)
23472347 Hash Cond: (b2t3.c1 = b2t1.c1)
2348- -> Merge Join (cost=xxx rows=1100 width=xxx)
2348+ -> Merge Join (cost=xxx rows=1130 width=xxx)
23492349 Merge Cond: (b2t3.c1 = b2t4.c1)
2350- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2351- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2350+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2351+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
23522352 -> Hash (cost=xxx rows=1000 width=xxx)
23532353 -> Seq Scan on t1 b2t1 (cost=xxx rows=1000 width=xxx)
23542354 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
@@ -2362,7 +2362,7 @@ error hint:
23622362 -> Merge Join (cost=xxx rows=1000 width=xxx)
23632363 Merge Cond: (b3t1.c1 = b3t4.c1)
23642364 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2365- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
2365+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
23662366 -> Hash (cost=xxx rows=100 width=xxx)
23672367 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
23682368 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -2371,7 +2371,7 @@ error hint:
23712371 Join Filter: (bmt1.c1 = bmt4.c1)
23722372 -> Hash Join (cost=xxx rows=1 width=xxx)
23732373 Hash Cond: (bmt3.c1 = bmt1.c1)
2374- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2374+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
23752375 -> Hash (cost=xxx rows=1 width=xxx)
23762376 -> Merge Join (cost=xxx rows=1 width=xxx)
23772377 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -2481,11 +2481,11 @@ error hint:
24812481 Join Filter: (b1t2.c1 = b1t1.c1)
24822482 -> Hash Join (cost=xxx rows=1 width=xxx)
24832483 Hash Cond: (b1t4.c1 = b1t2.c1)
2484- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
2484+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
24852485 -> Hash (cost=xxx rows=1 width=xxx)
24862486 -> Merge Join (cost=xxx rows=1 width=xxx)
24872487 Merge Cond: (b1t3.c1 = b1t2.c1)
2488- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2488+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
24892489 -> Sort (cost=xxx rows=100 width=xxx)
24902490 Sort Key: b1t2.c1
24912491 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
@@ -2500,8 +2500,8 @@ error hint:
25002500 -> Hash (cost=xxx rows=1 width=xxx)
25012501 -> Merge Join (cost=xxx rows=1 width=xxx)
25022502 Merge Cond: (b2t3.c1 = b2t4.c1)
2503- -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2504- -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2503+ -> Index Only Scan using t3_i1 on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2504+ -> Index Only Scan using t4_i1 on t4 b2t4 (cost=xxx rows=1130 width=xxx)
25052505 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
25062506 Index Cond: (c1 = b2t1.c1)
25072507 CTE c3
@@ -2513,7 +2513,7 @@ error hint:
25132513 -> Merge Join (cost=xxx rows=1 width=xxx)
25142514 Merge Cond: (b3t1.c1 = b3t4.c1)
25152515 -> Index Only Scan using t1_i1 on t1 b3t1 (cost=xxx rows=1000 width=xxx)
2516- -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1100 width=xxx)
2516+ -> Index Only Scan using t4_i1 on t4 b3t4 (cost=xxx rows=1130 width=xxx)
25172517 -> Hash (cost=xxx rows=100 width=xxx)
25182518 -> Seq Scan on t2 b3t2 (cost=xxx rows=100 width=xxx)
25192519 -> Index Only Scan using t3_i1 on t3 b3t3 (cost=xxx rows=1 width=xxx)
@@ -2522,7 +2522,7 @@ error hint:
25222522 Join Filter: (bmt1.c1 = bmt4.c1)
25232523 -> Hash Join (cost=xxx rows=1 width=xxx)
25242524 Hash Cond: (bmt3.c1 = bmt1.c1)
2525- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2525+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
25262526 -> Hash (cost=xxx rows=1 width=xxx)
25272527 -> Merge Join (cost=xxx rows=1 width=xxx)
25282528 Merge Cond: (bmt1.c1 = bmt2.c1)
@@ -2888,11 +2888,11 @@ error hint:
28882888 -> Sort (cost=xxx rows=100 width=xxx)
28892889 Sort Key: b1t2.c1
28902890 -> Nested Loop (cost=xxx rows=100 width=xxx)
2891- -> Hash Join (cost=xxx rows=1100 width=xxx)
2891+ -> Hash Join (cost=xxx rows=1130 width=xxx)
28922892 Hash Cond: (b1t3.c1 = b1t4.c1)
2893- -> Seq Scan on t3 b1t3 (cost=xxx rows=1100 width=xxx)
2894- -> Hash (cost=xxx rows=1100 width=xxx)
2895- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
2893+ -> Seq Scan on t3 b1t3 (cost=xxx rows=1130 width=xxx)
2894+ -> Hash (cost=xxx rows=1130 width=xxx)
2895+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
28962896 -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx rows=1 width=xxx)
28972897 Index Cond: (c1 = b1t3.c1)
28982898 InitPlan 2 (returns $3)
@@ -2902,11 +2902,11 @@ error hint:
29022902 -> Sort (cost=xxx rows=100 width=xxx)
29032903 Sort Key: b2t2.c1
29042904 -> Nested Loop (cost=xxx rows=100 width=xxx)
2905- -> Hash Join (cost=xxx rows=1100 width=xxx)
2905+ -> Hash Join (cost=xxx rows=1130 width=xxx)
29062906 Hash Cond: (b2t3.c1 = b2t4.c1)
2907- -> Seq Scan on t3 b2t3 (cost=xxx rows=1100 width=xxx)
2908- -> Hash (cost=xxx rows=1100 width=xxx)
2909- -> Seq Scan on t4 b2t4 (cost=xxx rows=1100 width=xxx)
2907+ -> Seq Scan on t3 b2t3 (cost=xxx rows=1130 width=xxx)
2908+ -> Hash (cost=xxx rows=1130 width=xxx)
2909+ -> Seq Scan on t4 b2t4 (cost=xxx rows=1130 width=xxx)
29102910 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
29112911 Index Cond: (c1 = b2t3.c1)
29122912 InitPlan 3 (returns $5)
@@ -2916,11 +2916,11 @@ error hint:
29162916 -> Sort (cost=xxx rows=100 width=xxx)
29172917 Sort Key: b3t2.c1
29182918 -> Nested Loop (cost=xxx rows=100 width=xxx)
2919- -> Hash Join (cost=xxx rows=1100 width=xxx)
2919+ -> Hash Join (cost=xxx rows=1130 width=xxx)
29202920 Hash Cond: (b3t3.c1 = b3t4.c1)
2921- -> Seq Scan on t3 b3t3 (cost=xxx rows=1100 width=xxx)
2922- -> Hash (cost=xxx rows=1100 width=xxx)
2923- -> Seq Scan on t4 b3t4 (cost=xxx rows=1100 width=xxx)
2921+ -> Seq Scan on t3 b3t3 (cost=xxx rows=1130 width=xxx)
2922+ -> Hash (cost=xxx rows=1130 width=xxx)
2923+ -> Seq Scan on t4 b3t4 (cost=xxx rows=1130 width=xxx)
29242924 -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx rows=1 width=xxx)
29252925 Index Cond: (c1 = b3t3.c1)
29262926 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
@@ -2930,11 +2930,11 @@ error hint:
29302930 -> Nested Loop (cost=xxx rows=100 width=xxx)
29312931 -> Hash Join (cost=xxx rows=100 width=xxx)
29322932 Hash Cond: (bmt3.c1 = bmt4.c1)
2933- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
2933+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
29342934 -> Hash (cost=xxx rows=100 width=xxx)
29352935 -> Merge Join (cost=xxx rows=100 width=xxx)
29362936 Merge Cond: (bmt4.c1 = c1.c1)
2937- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1100 width=xxx)
2937+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
29382938 -> Sort (cost=xxx rows=100 width=xxx)
29392939 Sort Key: c1.c1
29402940 -> CTE Scan on c1 (cost=xxx rows=100 width=xxx)
@@ -3037,9 +3037,9 @@ error hint:
30373037 -> Nested Loop (cost=xxx rows=1 width=xxx)
30383038 -> Hash Join (cost=xxx rows=1 width=xxx)
30393039 Hash Cond: (b1t3.c1 = b1t4.c1)
3040- -> Seq Scan on t3 b1t3 (cost=xxx rows=1100 width=xxx)
3041- -> Hash (cost=xxx rows=1100 width=xxx)
3042- -> Seq Scan on t4 b1t4 (cost=xxx rows=1100 width=xxx)
3040+ -> Seq Scan on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3041+ -> Hash (cost=xxx rows=1130 width=xxx)
3042+ -> Seq Scan on t4 b1t4 (cost=xxx rows=1130 width=xxx)
30433043 -> Index Only Scan using t2_i1 on t2 b1t2 (cost=xxx rows=1 width=xxx)
30443044 Index Cond: (c1 = b1t3.c1)
30453045 InitPlan 2 (returns $3)
@@ -3051,9 +3051,9 @@ error hint:
30513051 -> Nested Loop (cost=xxx rows=1 width=xxx)
30523052 -> Hash Join (cost=xxx rows=1 width=xxx)
30533053 Hash Cond: (b2t3.c1 = b2t4.c1)
3054- -> Seq Scan on t3 b2t3 (cost=xxx rows=1100 width=xxx)
3055- -> Hash (cost=xxx rows=1100 width=xxx)
3056- -> Seq Scan on t4 b2t4 (cost=xxx rows=1100 width=xxx)
3054+ -> Seq Scan on t3 b2t3 (cost=xxx rows=1130 width=xxx)
3055+ -> Hash (cost=xxx rows=1130 width=xxx)
3056+ -> Seq Scan on t4 b2t4 (cost=xxx rows=1130 width=xxx)
30573057 -> Index Only Scan using t2_i1 on t2 b2t2 (cost=xxx rows=1 width=xxx)
30583058 Index Cond: (c1 = b2t3.c1)
30593059 InitPlan 3 (returns $5)
@@ -3065,9 +3065,9 @@ error hint:
30653065 -> Nested Loop (cost=xxx rows=1 width=xxx)
30663066 -> Hash Join (cost=xxx rows=1 width=xxx)
30673067 Hash Cond: (b3t3.c1 = b3t4.c1)
3068- -> Seq Scan on t3 b3t3 (cost=xxx rows=1100 width=xxx)
3069- -> Hash (cost=xxx rows=1100 width=xxx)
3070- -> Seq Scan on t4 b3t4 (cost=xxx rows=1100 width=xxx)
3068+ -> Seq Scan on t3 b3t3 (cost=xxx rows=1130 width=xxx)
3069+ -> Hash (cost=xxx rows=1130 width=xxx)
3070+ -> Seq Scan on t4 b3t4 (cost=xxx rows=1130 width=xxx)
30713071 -> Index Only Scan using t2_i1 on t2 b3t2 (cost=xxx rows=1 width=xxx)
30723072 Index Cond: (c1 = b3t3.c1)
30733073 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=999 width=xxx)
@@ -3077,11 +3077,11 @@ error hint:
30773077 -> Nested Loop (cost=xxx rows=1 width=xxx)
30783078 -> Hash Join (cost=xxx rows=1 width=xxx)
30793079 Hash Cond: (bmt3.c1 = bmt4.c1)
3080- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
3080+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
30813081 -> Hash (cost=xxx rows=1 width=xxx)
30823082 -> Merge Join (cost=xxx rows=1 width=xxx)
30833083 Merge Cond: (bmt4.c1 = c1.c1)
3084- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1100 width=xxx)
3084+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
30853085 -> Sort (cost=xxx rows=1 width=xxx)
30863086 Sort Key: c1.c1
30873087 -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
@@ -3139,10 +3139,10 @@ error hint:
31393139 Join Filter: (b1t2.c1 = b1t1.c1)
31403140 -> Hash Join (cost=xxx rows=100 width=xxx)
31413141 Hash Cond: (b1t3.c1 = b1t2.c1)
3142- -> Merge Join (cost=xxx rows=1100 width=xxx)
3142+ -> Merge Join (cost=xxx rows=1130 width=xxx)
31433143 Merge Cond: (b1t3.c1 = b1t4.c1)
3144- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
3145- -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1100 width=xxx)
3144+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3145+ -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1130 width=xxx)
31463146 -> Hash (cost=xxx rows=100 width=xxx)
31473147 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
31483148 -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
@@ -3159,11 +3159,11 @@ error hint:
31593159 -> Nested Loop (cost=xxx rows=100 width=xxx)
31603160 -> Hash Join (cost=xxx rows=100 width=xxx)
31613161 Hash Cond: (bmt3.c1 = bmt4.c1)
3162- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
3162+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
31633163 -> Hash (cost=xxx rows=100 width=xxx)
31643164 -> Merge Join (cost=xxx rows=100 width=xxx)
31653165 Merge Cond: (bmt4.c1 = c1.c1)
3166- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1100 width=xxx)
3166+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
31673167 -> Sort (cost=xxx rows=100 width=xxx)
31683168 Sort Key: c1.c1
31693169 -> CTE Scan on c1 (cost=xxx rows=100 width=xxx)
@@ -3236,8 +3236,8 @@ error hint:
32363236 Hash Cond: (b1t3.c1 = b1t2.c1)
32373237 -> Merge Join (cost=xxx rows=1 width=xxx)
32383238 Merge Cond: (b1t3.c1 = b1t4.c1)
3239- -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1100 width=xxx)
3240- -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1100 width=xxx)
3239+ -> Index Only Scan using t3_i1 on t3 b1t3 (cost=xxx rows=1130 width=xxx)
3240+ -> Index Only Scan using t4_i1 on t4 b1t4 (cost=xxx rows=1130 width=xxx)
32413241 -> Hash (cost=xxx rows=100 width=xxx)
32423242 -> Seq Scan on t2 b1t2 (cost=xxx rows=100 width=xxx)
32433243 -> Index Only Scan using t1_i1 on t1 b1t1 (cost=xxx rows=1 width=xxx)
@@ -3254,11 +3254,11 @@ error hint:
32543254 -> Nested Loop (cost=xxx rows=1 width=xxx)
32553255 -> Hash Join (cost=xxx rows=1 width=xxx)
32563256 Hash Cond: (bmt3.c1 = bmt4.c1)
3257- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
3257+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
32583258 -> Hash (cost=xxx rows=1 width=xxx)
32593259 -> Merge Join (cost=xxx rows=1 width=xxx)
32603260 Merge Cond: (bmt4.c1 = c1.c1)
3261- -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1100 width=xxx)
3261+ -> Index Only Scan using t4_i1 on t4 bmt4 (cost=xxx rows=1130 width=xxx)
32623262 -> Sort (cost=xxx rows=1 width=xxx)
32633263 Sort Key: c1.c1
32643264 -> CTE Scan on c1 (cost=xxx rows=1 width=xxx)
@@ -4350,24 +4350,24 @@ error hint:
43504350 ----
43514351 -- No. R-2-4-1
43524352 \o results/ut-R.tmpout
4353-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
4353+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
43544354 \o
43554355 \! sql/maskout.sh results/ut-R.tmpout
43564356 QUERY PLAN
43574357 --------------------------------------------------------------------------------
43584358 Nested Loop (cost=xxx rows=1 width=xxx)
4359- -> Hash Join (cost=xxx rows=1 width=xxx)
4359+ -> Hash Join (cost=xxx rows=2 width=xxx)
43604360 Hash Cond: (t2.c1 = "*VALUES*".column1)
43614361 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4362- -> Hash (cost=xxx rows=1 width=xxx)
4363- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4362+ -> Hash (cost=xxx rows=2 width=xxx)
4363+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
43644364 -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
43654365 Index Cond: (c1 = t2.c1)
43664366 (8 rows)
43674367
43684368 \o results/ut-R.tmpout
43694369 /*+ Leading(t3 t1 t2) Rows(t3 t1 #2)Rows(t3 t1 t2 #2)*/
4370-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
4370+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
43714371 LOG: pg_hint_plan:
43724372 used hint:
43734373 not used hint:
@@ -4382,18 +4382,18 @@ error hint:
43824382 QUERY PLAN
43834383 --------------------------------------------------------------------------------
43844384 Nested Loop (cost=xxx rows=1 width=xxx)
4385- -> Hash Join (cost=xxx rows=1 width=xxx)
4385+ -> Hash Join (cost=xxx rows=2 width=xxx)
43864386 Hash Cond: (t2.c1 = "*VALUES*".column1)
43874387 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4388- -> Hash (cost=xxx rows=1 width=xxx)
4389- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4388+ -> Hash (cost=xxx rows=2 width=xxx)
4389+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
43904390 -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
43914391 Index Cond: (c1 = t2.c1)
43924392 (8 rows)
43934393
43944394 \o results/ut-R.tmpout
43954395 /*+ Leading(*VALUES* t1 t2) Rows(*VALUES* t1 #2)Rows(*VALUES* t1 t2 #20)*/
4396-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
4396+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
43974397 LOG: pg_hint_plan:
43984398 used hint:
43994399 Leading(*VALUES* t1 t2)
@@ -4409,7 +4409,7 @@ error hint:
44094409 -----------------------------------------------------------------------------
44104410 Nested Loop (cost=xxx rows=20 width=xxx)
44114411 -> Nested Loop (cost=xxx rows=2 width=xxx)
4412- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4412+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
44134413 -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
44144414 Index Cond: (c1 = "*VALUES*".column1)
44154415 -> Index Scan using t2_i1 on t2 (cost=xxx rows=1 width=xxx)
@@ -4418,27 +4418,28 @@ error hint:
44184418
44194419 -- No. R-2-4-2
44204420 \o results/ut-R.tmpout
4421-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
4421+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
44224422 \o
44234423 \! sql/maskout.sh results/ut-R.tmpout
44244424 QUERY PLAN
44254425 --------------------------------------------------------------------------------------
44264426 Nested Loop (cost=xxx rows=1 width=xxx)
4427- Join Filter: (t1.c1 = "*VALUES*_1".column1)
44284427 -> Nested Loop (cost=xxx rows=1 width=xxx)
4429- -> Hash Join (cost=xxx rows=1 width=xxx)
4428+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
4429+ -> Hash Join (cost=xxx rows=2 width=xxx)
44304430 Hash Cond: (t2.c1 = "*VALUES*".column1)
44314431 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4432- -> Hash (cost=xxx rows=1 width=xxx)
4433- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4434- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4435- Index Cond: (c1 = t2.c1)
4436- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4437-(11 rows)
4432+ -> Hash (cost=xxx rows=2 width=xxx)
4433+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4434+ -> Materialize (cost=xxx rows=2 width=xxx)
4435+ -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4436+ -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4437+ Index Cond: (c1 = t2.c1)
4438+(12 rows)
44384439
44394440 \o results/ut-R.tmpout
44404441 /*+ Leading(t4 t3 t2 t1) Rows(t4 t3 #2) Rows(t4 t3 t2 #2)Rows(t4 t3 t2 t1 #2)*/
4441-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
4442+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
44424443 LOG: pg_hint_plan:
44434444 used hint:
44444445 not used hint:
@@ -4454,21 +4455,22 @@ error hint:
44544455 QUERY PLAN
44554456 --------------------------------------------------------------------------------------
44564457 Nested Loop (cost=xxx rows=1 width=xxx)
4457- Join Filter: (t1.c1 = "*VALUES*_1".column1)
44584458 -> Nested Loop (cost=xxx rows=1 width=xxx)
4459- -> Hash Join (cost=xxx rows=1 width=xxx)
4459+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
4460+ -> Hash Join (cost=xxx rows=2 width=xxx)
44604461 Hash Cond: (t2.c1 = "*VALUES*".column1)
44614462 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4462- -> Hash (cost=xxx rows=1 width=xxx)
4463- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4464- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4465- Index Cond: (c1 = t2.c1)
4466- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4467-(11 rows)
4463+ -> Hash (cost=xxx rows=2 width=xxx)
4464+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4465+ -> Materialize (cost=xxx rows=2 width=xxx)
4466+ -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4467+ -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4468+ Index Cond: (c1 = t2.c1)
4469+(12 rows)
44684470
44694471 \o results/ut-R.tmpout
44704472 /*+ Leading(*VALUES* t3 t2 t1) Rows(t4 t3 #2)Rows(*VALUES* t3 t2 #2)Rows(*VALUES* t3 t2 t1 #2)*/
4471-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
4473+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
44724474 INFO: pg_hint_plan: hint syntax error at or near "Rows(*VALUES* t3 t2 #2)Rows(*VALUES* t3 t2 t1 #2)"
44734475 DETAIL: Relation name "*VALUES*" is ambiguous.
44744476 INFO: pg_hint_plan: hint syntax error at or near "Rows(*VALUES* t3 t2 t1 #2)"
@@ -4490,17 +4492,18 @@ Rows(*VALUES* t1 t2 t3 #2)
44904492 QUERY PLAN
44914493 --------------------------------------------------------------------------------------
44924494 Nested Loop (cost=xxx rows=1 width=xxx)
4493- Join Filter: (t1.c1 = "*VALUES*_1".column1)
44944495 -> Nested Loop (cost=xxx rows=1 width=xxx)
4495- -> Hash Join (cost=xxx rows=1 width=xxx)
4496+ Join Filter: (t2.c1 = "*VALUES*_1".column1)
4497+ -> Hash Join (cost=xxx rows=2 width=xxx)
44964498 Hash Cond: (t2.c1 = "*VALUES*".column1)
44974499 -> Seq Scan on t2 (cost=xxx rows=100 width=xxx)
4498- -> Hash (cost=xxx rows=1 width=xxx)
4499- -> Values Scan on "*VALUES*" (cost=xxx rows=1 width=xxx)
4500- -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4501- Index Cond: (c1 = t2.c1)
4502- -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4503-(11 rows)
4500+ -> Hash (cost=xxx rows=2 width=xxx)
4501+ -> Values Scan on "*VALUES*" (cost=xxx rows=2 width=xxx)
4502+ -> Materialize (cost=xxx rows=2 width=xxx)
4503+ -> Values Scan on "*VALUES*_1" (cost=xxx rows=2 width=xxx)
4504+ -> Index Scan using t1_i1 on t1 (cost=xxx rows=1 width=xxx)
4505+ Index Cond: (c1 = t2.c1)
4506+(12 rows)
45044507
45054508 ----
45064509 ---- No. R-2-5
@@ -4520,7 +4523,7 @@ EXPLAIN SELECT max(bmt1.c1) FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sb
45204523 -> Merge Join (cost=xxx rows=1000 width=xxx)
45214524 Merge Cond: (bmt1.c1 = bmt3.c1)
45224525 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4523- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4526+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
45244527 -> Sort (cost=xxx rows=100 width=xxx)
45254528 Sort Key: bmt2.c1
45264529 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
@@ -4553,11 +4556,11 @@ error hint:
45534556 Sort Key: bmt2.c1
45544557 -> Hash Join (cost=xxx rows=100 width=xxx)
45554558 Hash Cond: (bmt3.c1 = bmt2.c1)
4556- -> Hash Join (cost=xxx rows=1100 width=xxx)
4559+ -> Hash Join (cost=xxx rows=1130 width=xxx)
45574560 Hash Cond: (bmt3.c1 = bmt4.c1)
4558- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4559- -> Hash (cost=xxx rows=1100 width=xxx)
4560- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
4561+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4562+ -> Hash (cost=xxx rows=1130 width=xxx)
4563+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
45614564 -> Hash (cost=xxx rows=100 width=xxx)
45624565 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
45634566 (14 rows)
@@ -4576,7 +4579,7 @@ EXPLAIN SELECT bmt1.c1 FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2,
45764579 -> Merge Join (cost=xxx rows=1000 width=xxx)
45774580 Merge Cond: (bmt1.c1 = bmt3.c1)
45784581 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4579- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4582+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
45804583 -> Sort (cost=xxx rows=100 width=xxx)
45814584 Sort Key: bmt2.c1
45824585 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
@@ -4609,11 +4612,11 @@ error hint:
46094612 Sort Key: bmt2.c1
46104613 -> Hash Join (cost=xxx rows=60 width=xxx)
46114614 Hash Cond: (bmt3.c1 = bmt2.c1)
4612- -> Hash Join (cost=xxx rows=660 width=xxx)
4615+ -> Hash Join (cost=xxx rows=678 width=xxx)
46134616 Hash Cond: (bmt3.c1 = bmt4.c1)
4614- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4615- -> Hash (cost=xxx rows=1100 width=xxx)
4616- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
4617+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4618+ -> Hash (cost=xxx rows=1130 width=xxx)
4619+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
46174620 -> Hash (cost=xxx rows=100 width=xxx)
46184621 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
46194622 (14 rows)
@@ -4632,7 +4635,7 @@ EXPLAIN SELECT bmt1.c1 FROM s1.t1 bmt1, (SELECT ctid, * FROM s1.t2 bmt2) sbmt2,
46324635 -> Merge Join (cost=xxx rows=1000 width=xxx)
46334636 Merge Cond: (bmt1.c1 = bmt3.c1)
46344637 -> Index Only Scan using t1_i1 on t1 bmt1 (cost=xxx rows=1000 width=xxx)
4635- -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4638+ -> Index Only Scan using t3_i1 on t3 bmt3 (cost=xxx rows=1130 width=xxx)
46364639 -> Sort (cost=xxx rows=100 width=xxx)
46374640 Sort Key: bmt2.c1
46384641 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
@@ -4665,11 +4668,11 @@ error hint:
46654668 Sort Key: bmt2.c1
46664669 -> Hash Join (cost=xxx rows=100 width=xxx)
46674670 Hash Cond: (bmt3.c1 = bmt2.c1)
4668- -> Hash Join (cost=xxx rows=1100 width=xxx)
4671+ -> Hash Join (cost=xxx rows=1130 width=xxx)
46694672 Hash Cond: (bmt3.c1 = bmt4.c1)
4670- -> Seq Scan on t3 bmt3 (cost=xxx rows=1100 width=xxx)
4671- -> Hash (cost=xxx rows=1100 width=xxx)
4672- -> Seq Scan on t4 bmt4 (cost=xxx rows=1100 width=xxx)
4673+ -> Seq Scan on t3 bmt3 (cost=xxx rows=1130 width=xxx)
4674+ -> Hash (cost=xxx rows=1130 width=xxx)
4675+ -> Seq Scan on t4 bmt4 (cost=xxx rows=1130 width=xxx)
46734676 -> Hash (cost=xxx rows=100 width=xxx)
46744677 -> Seq Scan on t2 bmt2 (cost=xxx rows=100 width=xxx)
46754678 (14 rows)
--- a/expected/ut-S.out
+++ b/expected/ut-S.out
@@ -451,7 +451,7 @@ EXPLAIN (COSTS false) SELECT * FROM pg_catalog.pg_class WHERE oid = 1;
451451 QUERY PLAN
452452 -------------------------------------------------
453453 Index Scan using pg_class_oid_index on pg_class
454- Index Cond: (oid = 1::oid)
454+ Index Cond: (oid = '1'::oid)
455455 (2 rows)
456456
457457 /*+SeqScan(pg_class)*/
@@ -463,10 +463,10 @@ not used hint:
463463 duplication hint:
464464 error hint:
465465
466- QUERY PLAN
467---------------------------
466+ QUERY PLAN
467+----------------------------
468468 Seq Scan on pg_class
469- Filter: (oid = 1::oid)
469+ Filter: (oid = '1'::oid)
470470 (2 rows)
471471
472472 -- No. S-1-5-6
@@ -2995,11 +2995,10 @@ error hint:
29952995 ----
29962996 -- No. S-2-4-1
29972997 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
2998- QUERY PLAN
2999----------------------------
3000- Values Scan on "*VALUES*"
3001- Filter: (column1 = 1)
3002-(2 rows)
2998+ QUERY PLAN
2999+------------
3000+ Result
3001+(1 row)
30033002
30043003 /*+SeqScan(t1)*/
30053004 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
@@ -3010,11 +3009,10 @@ SeqScan(t1)
30103009 duplication hint:
30113010 error hint:
30123011
3013- QUERY PLAN
3014----------------------------
3015- Values Scan on "*VALUES*"
3016- Filter: (column1 = 1)
3017-(2 rows)
3012+ QUERY PLAN
3013+------------
3014+ Result
3015+(1 row)
30183016
30193017 /*+SeqScan(*VALUES*)*/
30203018 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
@@ -3025,24 +3023,24 @@ SeqScan(*VALUES*)
30253023 duplication hint:
30263024 error hint:
30273025
3028- QUERY PLAN
3029----------------------------
3030- Values Scan on "*VALUES*"
3031- Filter: (column1 = 1)
3032-(2 rows)
3026+ QUERY PLAN
3027+------------
3028+ Result
3029+(1 row)
30333030
30343031 -- No. S-2-4-2
3035-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3036- QUERY PLAN
3037-------------------------------------------------------------
3038- Nested Loop
3039- Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3032+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3033+ QUERY PLAN
3034+----------------------------------------------------------
3035+ Hash Join
3036+ Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
30403037 -> Values Scan on "*VALUES*"
3041- -> Values Scan on "*VALUES*_1"
3042-(4 rows)
3038+ -> Hash
3039+ -> Values Scan on "*VALUES*_1"
3040+(5 rows)
30433041
30443042 /*+SeqScan(t1 t2)*/
3045-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3043+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
30463044 INFO: pg_hint_plan: hint syntax error at or near ""
30473045 DETAIL: SeqScan hint accepts only one relation.
30483046 LOG: pg_hint_plan:
@@ -3052,16 +3050,17 @@ duplication hint:
30523050 error hint:
30533051 SeqScan(t1 t2)
30543052
3055- QUERY PLAN
3056-------------------------------------------------------------
3057- Nested Loop
3058- Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3053+ QUERY PLAN
3054+----------------------------------------------------------
3055+ Hash Join
3056+ Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
30593057 -> Values Scan on "*VALUES*"
3060- -> Values Scan on "*VALUES*_1"
3061-(4 rows)
3058+ -> Hash
3059+ -> Values Scan on "*VALUES*_1"
3060+(5 rows)
30623061
30633062 /*+SeqScan(*VALUES*)*/
3064-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
3063+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
30653064 LOG: pg_hint_plan:
30663065 used hint:
30673066 not used hint:
@@ -3069,13 +3068,14 @@ SeqScan(*VALUES*)
30693068 duplication hint:
30703069 error hint:
30713070
3072- QUERY PLAN
3073-------------------------------------------------------------
3074- Nested Loop
3075- Join Filter: ("*VALUES*".column1 = "*VALUES*_1".column1)
3071+ QUERY PLAN
3072+----------------------------------------------------------
3073+ Hash Join
3074+ Hash Cond: ("*VALUES*".column1 = "*VALUES*_1".column1)
30763075 -> Values Scan on "*VALUES*"
3077- -> Values Scan on "*VALUES*_1"
3078-(4 rows)
3076+ -> Hash
3077+ -> Values Scan on "*VALUES*_1"
3078+(5 rows)
30793079
30803080 ----
30813081 ---- No. S-3-1 scan method hint
@@ -3794,7 +3794,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 < 100 AND c2 = 1 AND lower(c
37943794 -----------------------------------------------------------------------------------------------------------------------------------------
37953795 Tid Scan on ti1
37963796 TID Cond: (ctid = '(1,1)'::tid)
3797- Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3797+ Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
37983798 (3 rows)
37993799
38003800 -- No. S-3-4-1
@@ -3812,7 +3812,7 @@ error hint:
38123812 ----------------------------------------------------------------------------------------------------------------------------------------------------
38133813 Index Scan using ti1_btree on ti1
38143814 Index Cond: (c1 < 100)
3815- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3815+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
38163816 (3 rows)
38173817
38183818 -- No. S-3-4-2
@@ -3830,7 +3830,7 @@ error hint:
38303830 ----------------------------------------------------------------------------------------------------------------------------------------------------
38313831 Index Scan using ti1_hash on ti1
38323832 Index Cond: (c1 = 100)
3833- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3833+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
38343834 (3 rows)
38353835
38363836 -- No. S-3-4-3
@@ -3848,7 +3848,7 @@ error hint:
38483848 ----------------------------------------------------------------------------------------------------------------------------------------------------
38493849 Index Scan using ti1_gist on ti1
38503850 Index Cond: (c1 < 100)
3851- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3851+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
38523852 (3 rows)
38533853
38543854 -- No. S-3-4-4
@@ -3866,7 +3866,7 @@ error hint:
38663866 -----------------------------------------------------------------------------------------------------------------------------------------
38673867 Tid Scan on ti1
38683868 TID Cond: (ctid = '(1,1)'::tid)
3869- Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3869+ Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
38703870 (3 rows)
38713871
38723872 -- No. S-3-4-5
@@ -3884,7 +3884,7 @@ error hint:
38843884 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
38853885 Index Scan using ti1_expr on ti1
38863886 Index Cond: ((c1 < 100) = true)
3887- Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3887+ Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
38883888 (3 rows)
38893889
38903890 -- No. S-3-4-6
@@ -3920,7 +3920,7 @@ error hint:
39203920 ----------------------------------------------------------------------------------------------------------------------------------------------------
39213921 Index Scan using ti1_uniq on ti1
39223922 Index Cond: (c1 < 100)
3923- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3923+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
39243924 (3 rows)
39253925
39263926 -- No. S-3-4-8
@@ -3938,7 +3938,7 @@ error hint:
39383938 ---------------------------------------------------------------------------------------------------------------------------------------
39393939 Index Scan using ti1_multi on ti1
39403940 Index Cond: ((c1 < 100) AND (c2 = 1))
3941- Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3941+ Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
39423942 (3 rows)
39433943
39443944 -- No. S-3-4-9
@@ -3956,7 +3956,7 @@ error hint:
39563956 -----------------------------------------------------------------------------------------------------------------------------------------
39573957 Tid Scan on ti1
39583958 TID Cond: (ctid = '(1,1)'::tid)
3959- Filter: ((c1 < 100) AND (c2 = 1) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3959+ Filter: ((c1 < 100) AND (c2 = 1) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
39603960 (3 rows)
39613961
39623962 -- No. S-3-4-10
@@ -3974,7 +3974,7 @@ error hint:
39743974 ----------------------------------------------------------------------------------------------------------------------------------------------------
39753975 Index Scan using ti1_pkey on ti1
39763976 Index Cond: (c1 < 100)
3977- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3977+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
39783978 (3 rows)
39793979
39803980 -- No. S-3-4-11
@@ -3992,7 +3992,7 @@ error hint:
39923992 ------------------------------------------------------------------------------------------------------------------------------------------------------
39933993 Index Scan using ti1_c2_key on ti1
39943994 Index Cond: (c2 = 1)
3995- Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
3995+ Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
39963996 (3 rows)
39973997
39983998 -- No. S-3-4-12
@@ -4010,7 +4010,7 @@ error hint:
40104010 ----------------------------------------------------------------------------------------------------------------------------------------------------
40114011 Bitmap Heap Scan on ti1
40124012 Recheck Cond: (c1 < 100)
4013- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4013+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
40144014 -> Bitmap Index Scan on ti1_btree
40154015 Index Cond: (c1 < 100)
40164016 (5 rows)
@@ -4030,7 +4030,7 @@ error hint:
40304030 ----------------------------------------------------------------------------------------------------------------------------------------------------
40314031 Bitmap Heap Scan on ti1
40324032 Recheck Cond: (c1 = 100)
4033- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4033+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
40344034 -> Bitmap Index Scan on ti1_hash
40354035 Index Cond: (c1 = 100)
40364036 (5 rows)
@@ -4050,7 +4050,7 @@ error hint:
40504050 ----------------------------------------------------------------------------------------------------------------------------------------------------
40514051 Bitmap Heap Scan on ti1
40524052 Recheck Cond: (c1 < 100)
4053- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4053+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
40544054 -> Bitmap Index Scan on ti1_gist
40554055 Index Cond: (c1 < 100)
40564056 (5 rows)
@@ -4070,7 +4070,7 @@ error hint:
40704070 ----------------------------------------------------------------------------------------------------------------------------------------------------
40714071 Bitmap Heap Scan on ti1
40724072 Recheck Cond: (c1 < 100)
4073- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4073+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
40744074 -> Bitmap Index Scan on ti1_gin
40754075 Index Cond: (c1 < 100)
40764076 (5 rows)
@@ -4089,7 +4089,7 @@ error hint:
40894089 QUERY PLAN
40904090 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
40914091 Bitmap Heap Scan on ti1
4092- Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4092+ Filter: ((c1 < 100) AND (c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
40934093 -> Bitmap Index Scan on ti1_expr
40944094 Index Cond: ((c1 < 100) = true)
40954095 (4 rows)
@@ -4129,7 +4129,7 @@ error hint:
41294129 ----------------------------------------------------------------------------------------------------------------------------------------------------
41304130 Bitmap Heap Scan on ti1
41314131 Recheck Cond: (c1 < 100)
4132- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4132+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
41334133 -> Bitmap Index Scan on ti1_uniq
41344134 Index Cond: (c1 < 100)
41354135 (5 rows)
@@ -4149,7 +4149,7 @@ error hint:
41494149 ---------------------------------------------------------------------------------------------------------------------------------------
41504150 Bitmap Heap Scan on ti1
41514151 Recheck Cond: ((c1 < 100) AND (c2 = 1))
4152- Filter: ((ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4152+ Filter: ((ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
41534153 -> Bitmap Index Scan on ti1_multi
41544154 Index Cond: ((c1 < 100) AND (c2 = 1))
41554155 (5 rows)
@@ -4189,7 +4189,7 @@ error hint:
41894189 ----------------------------------------------------------------------------------------------------------------------------------------------------
41904190 Bitmap Heap Scan on ti1
41914191 Recheck Cond: (c1 < 100)
4192- Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4192+ Filter: ((c2 = 1) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
41934193 -> Bitmap Index Scan on ti1_pkey
41944194 Index Cond: (c1 < 100)
41954195 (5 rows)
@@ -4209,7 +4209,7 @@ error hint:
42094209 ------------------------------------------------------------------------------------------------------------------------------------------------------
42104210 Bitmap Heap Scan on ti1
42114211 Recheck Cond: (c2 = 1)
4212- Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery) AND (lower(c4) = '1'::text))
4212+ Filter: ((c1 < 100) AND (ctid = '(1,1)'::tid) AND (lower(c4) = '1'::text) AND (to_tsvector('english'::regconfig, c4) @@ '''a'' & ''b'''::tsquery))
42134213 -> Bitmap Index Scan on ti1_c2_key
42144214 Index Cond: (c2 = 1)
42154215 (5 rows)
@@ -4280,9 +4280,9 @@ not used hint:
42804280 duplication hint:
42814281 error hint:
42824282
4283- QUERY PLAN
4284-----------------------------------
4285- Index Scan using ti1_gist on ti1
4283+ QUERY PLAN
4284+---------------------------------------
4285+ Index Only Scan using ti1_gist on ti1
42864286 Index Cond: (c1 < 1)
42874287 (2 rows)
42884288
@@ -5066,11 +5066,13 @@ EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
50665066 QUERY PLAN
50675067 --------------------------
50685068 Update on p1
5069+ Update on p1
5070+ Update on p1c1
50695071 -> Seq Scan on p1
50705072 Filter: (c1 = 1)
50715073 -> Seq Scan on p1c1
50725074 Filter: (c1 = 1)
5073-(5 rows)
5075+(7 rows)
50745076
50755077 /*+IndexScan(p1)*/
50765078 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
@@ -5084,11 +5086,13 @@ error hint:
50845086 QUERY PLAN
50855087 ---------------------------------------
50865088 Update on p1
5089+ Update on p1
5090+ Update on p1c1
50875091 -> Index Scan using p1_i on p1
50885092 Index Cond: (c1 = 1)
50895093 -> Index Scan using p1c1_i on p1c1
50905094 Index Cond: (c1 = 1)
5091-(5 rows)
5095+(7 rows)
50925096
50935097 /*+IndexScan(p1 p1_pkey)*/
50945098 EXPLAIN (COSTS false) UPDATE s1.p1 SET c4 = c4 WHERE c1 = 1;
@@ -5106,11 +5110,13 @@ error hint:
51065110 QUERY PLAN
51075111 ------------------------------------------
51085112 Update on p1
5113+ Update on p1
5114+ Update on p1c1
51095115 -> Index Scan using p1_pkey on p1
51105116 Index Cond: (c1 = 1)
51115117 -> Index Scan using p1c1_pkey on p1c1
51125118 Index Cond: (c1 = 1)
5113-(5 rows)
5119+(7 rows)
51145120
51155121 ----
51165122 ---- No. S-3-9 inheritance table number
--- a/make_join_rel.c
+++ b/make_join_rel.c
@@ -106,7 +106,10 @@ make_join_rel(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2)
106106 /* we don't bother trying to make the remaining fields valid */
107107 sjinfo->lhs_strict = false;
108108 sjinfo->delay_upper_joins = false;
109- sjinfo->join_quals = NIL;
109+ sjinfo->semi_can_btree = false;
110+ sjinfo->semi_can_hash = false;
111+ sjinfo->semi_operators = NIL;
112+ sjinfo->semi_rhs_exprs = NIL;
110113 }
111114
112115 /*
--- a/sql/ut-J.sql
+++ b/sql/ut-J.sql
@@ -654,14 +654,14 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1,
654654 /*+ Leading(t3 t1 t2) HashJoin(t3 t1)NestLoop(t3 t1 t2)*/
655655 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
656656 /*+ Leading(*VALUES* t1 t2) HashJoin(*VALUES* t1)NestLoop(*VALUES* t1 t2)*/
657-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
657+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
658658
659659 -- No. J-2-4-2
660-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
660+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
661661 /*+ Leading(t4 t3 t2 t1) NestLoop(t4 t3)HashJoin(t4 t3 t2)MergeJoin(t4 t3 t2 t1)*/
662-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
662+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
663663 /*+ Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)*/
664-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
664+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
665665
666666 ----
667667 ---- No. J-3-1 join method hint
--- a/sql/ut-L.sql
+++ b/sql/ut-L.sql
@@ -130,9 +130,9 @@ EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2, s1.f1() t3, s1.f1()
130130 EXPLAIN (COSTS false) SELECT * FROM s1.f1() t1, s1.f1() t2, s1.f1() t3, s1.f1() t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
131131
132132 -- No. L-1-6-8
133-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
133+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
134134 /*+Leading(t4 t3 t2 t1)*/
135-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
135+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t1 (c1, c2, c3, c4), s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
136136
137137 -- No. L-1-6-9
138138 EXPLAIN (COSTS false) WITH c1(c1) AS (SELECT st1.c1 FROM s1.t1 st1, s1.t1 st2, s1.t1 st3, s1.t1 st4 WHERE st1.c1 = st2.c1 AND st1.c1 = st3.c1 AND st1.c1 = st4.c1) SELECT * FROM c1 ct1, c1 ct2, c1 ct3, c1 ct4 WHERE ct1.c1 = ct2.c1 AND ct1.c1 = ct3.c1 AND ct1.c1 = ct4.c1;
@@ -538,18 +538,18 @@ EXPLAIN (COSTS false) SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
538538 ----
539539
540540 -- No. L-2-4-1
541-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
541+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
542542 /*+ Leading(t3 t1 t2) */
543-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
543+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
544544 /*+ Leading(*VALUES* t1 t2) */
545-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
545+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
546546
547547 -- No. L-2-4-2
548-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
548+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
549549 /*+ Leading(t4 t3 t2 t1) */
550-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
550+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
551551 /*+ Leading(*VALUES* t3 t2 t1) */
552-EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
552+EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
553553
554554 ----
555555 ---- No. L-3-1 leading the order of table joins
--- a/sql/ut-R.sql
+++ b/sql/ut-R.sql
@@ -1152,37 +1152,37 @@ EXPLAIN SELECT * FROM s1.r4 t1, s1.r5 t2 WHERE t1.c1 = t2.c1;
11521152
11531153 -- No. R-2-4-1
11541154 \o results/ut-R.tmpout
1155-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
1155+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
11561156 \o
11571157 \! sql/maskout.sh results/ut-R.tmpout
11581158
11591159 \o results/ut-R.tmpout
11601160 /*+ Leading(t3 t1 t2) Rows(t3 t1 #2)Rows(t3 t1 t2 #2)*/
1161-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
1161+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
11621162 \o
11631163 \! sql/maskout.sh results/ut-R.tmpout
11641164
11651165 \o results/ut-R.tmpout
11661166 /*+ Leading(*VALUES* t1 t2) Rows(*VALUES* t1 #2)Rows(*VALUES* t1 t2 #20)*/
1167-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
1167+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1;
11681168 \o
11691169 \! sql/maskout.sh results/ut-R.tmpout
11701170
11711171 -- No. R-2-4-2
11721172 \o results/ut-R.tmpout
1173-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1173+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
11741174 \o
11751175 \! sql/maskout.sh results/ut-R.tmpout
11761176
11771177 \o results/ut-R.tmpout
11781178 /*+ Leading(t4 t3 t2 t1) Rows(t4 t3 #2) Rows(t4 t3 t2 #2)Rows(t4 t3 t2 t1 #2)*/
1179-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1179+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
11801180 \o
11811181 \! sql/maskout.sh results/ut-R.tmpout
11821182
11831183 \o results/ut-R.tmpout
11841184 /*+ Leading(*VALUES* t3 t2 t1) Rows(t4 t3 #2)Rows(*VALUES* t3 t2 #2)Rows(*VALUES* t3 t2 t1 #2)*/
1185-EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
1185+EXPLAIN SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t3 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t4 (c1, c2, c3, c4) WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
11861186 \o
11871187 \! sql/maskout.sh results/ut-R.tmpout
11881188
--- a/sql/ut-S.sql
+++ b/sql/ut-S.sql
@@ -490,11 +490,11 @@ EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 =
490490 EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1) WHERE t1.c1 = 1;
491491
492492 -- No. S-2-4-2
493-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
493+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
494494 /*+SeqScan(t1 t2)*/
495-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
495+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
496496 /*+SeqScan(*VALUES*)*/
497-EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
497+EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1'), (3,3,3,'3')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
498498
499499 ----
500500 ---- No. S-3-1 scan method hint