OSDN Git Service

Leadingヒント句の仕様変更にそって[結合方式]試験のPG9.1用予測結果を変更した。
authorTakashi Suzuki <suzuki.takashi@metrosystems.co.jp>
Tue, 6 Aug 2013 04:52:36 +0000 (13:52 +0900)
committerTakashi Suzuki <suzuki.takashi@metrosystems.co.jp>
Tue, 6 Aug 2013 04:52:36 +0000 (13:52 +0900)
expected/ut-J-9.1.out

index db24a29..03666db 100644 (file)
@@ -920,7 +920,9 @@ SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2
 (47 rows)
 
 /*+
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -944,7 +946,9 @@ HashJoin(bmt1 bmt2 bmt3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(bmt1 bmt2 bmt3 bmt4)
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 not used hint:
 duplication hint:
 error hint:
@@ -1094,7 +1098,10 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3
 (63 rows)
 
 /*+
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -1124,7 +1131,10 @@ NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(b3t1 b3t2 b3t3 b3t4)
 NestLoop(bmt1 bmt2 bmt3 bmt4)
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 not used hint:
 duplication hint:
 error hint:
@@ -1398,7 +1408,9 @@ SELECT max(b2t1.c1) FROM s1.t1 b2t1, s1.t2 b2t2, s1.t3 b2t3, s1.t4 b2t4 WHERE b2
 (48 rows)
 
 /*+
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -1422,7 +1434,9 @@ HashJoin(bmt1 bmt2 bmt3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(bmt1 bmt2 bmt3 bmt4)
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 not used hint:
 duplication hint:
 error hint:
@@ -1574,7 +1588,10 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3
 (64 rows)
 
 /*+
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 MergeJoin(bmt1 bmt2)HashJoin(bmt1 bmt2 bmt3)NestLoop(bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -1604,7 +1621,10 @@ NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(b3t1 b3t2 b3t3 b3t4)
 NestLoop(bmt1 bmt2 bmt3 bmt4)
-Leading(bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 not used hint:
 duplication hint:
 error hint:
@@ -1769,7 +1789,9 @@ AND bmt1.c1 = c2.c1
 (53 rows)
 
 /*+
-Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(c2 c1 bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 MergeJoin(c2 c1)HashJoin(c2 c1 bmt1)NestLoop(c2 c1 bmt1 bmt2)MergeJoin(c2 c1 bmt1 bmt2 bmt3)HashJoin(c2 c1 bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -1800,7 +1822,9 @@ NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(bmt1 bmt2 c1 c2)
 MergeJoin(bmt1 bmt2 bmt3 c1 c2)
 HashJoin(bmt1 bmt2 bmt3 bmt4 c1 c2)
-Leading(c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2)
+Leading(c2 c1 bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
 not used hint:
 duplication hint:
 error hint:
@@ -1977,7 +2001,10 @@ AND bmt1.c1 = c3.c1
 (72 rows)
 
 /*+
-Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 MergeJoin(c3 c2)HashJoin(c3 c2 c1)NestLoop(c3 c2 c1 bmt1)MergeJoin(c3 c2 c1 bmt1 bmt2)HashJoin(c3 c2 c1 bmt1 bmt2 bmt3)NestLoop(c3 c2 c1 bmt1 bmt2 bmt3 bmt4)
 MergeJoin(b1t2 b1t3)HashJoin(b1t2 b1t3 b1t4)NestLoop(b1t2 b1t3 b1t4 b1t1)
 MergeJoin(b2t3 b2t4)HashJoin(b2t3 b2t4 b2t1)NestLoop(b2t3 b2t4 b2t1 b2t2)
@@ -2017,7 +2044,10 @@ NestLoop(bmt1 c1 c2 c3)
 MergeJoin(bmt1 bmt2 c1 c2 c3)
 HashJoin(bmt1 bmt2 bmt3 c1 c2 c3)
 NestLoop(bmt1 bmt2 bmt3 bmt4 c1 c2 c3)
-Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4 b1t2 b1t3 b1t4 b1t1 b2t3 b2t4 b2t1 b2t2 b3t4 b3t1 b3t2 b3t3)
+Leading(c3 c2 c1 bmt1 bmt2 bmt3 bmt4)
+Leading(b1t2 b1t3 b1t4 b1t1)
+Leading(b2t3 b2t4 b2t1 b2t2)
+Leading(b3t4 b3t1 b3t2 b3t3)
 not used hint:
 duplication hint:
 error hint:
@@ -2173,7 +2203,7 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
 (28 rows)
 
 /*+
-Leading(c1 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt1)
 HashJoin(bmt1 c1)
 HashJoin(b1t1 c1)
 HashJoin(b2t1 c1)
@@ -2195,7 +2225,7 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)' AND b3t1.c1 = 1
 LOG:  pg_hint_plan:
 used hint:
 HashJoin(bmt1 c1)
-Leading(c1 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt1)
 not used hint:
 HashJoin(b1t1 c1)
 HashJoin(b2t1 c1)
@@ -2289,7 +2319,10 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2 WHERE b3t1.ctid = '(1,1)' AND b3
 (35 rows)
 
 /*+
-Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt2 bmt1)
+Leading(b1t2 b1t1)
+Leading(b2t2 b2t1)
+Leading(b3t2 b3t1)
 MergeJoin(c1 bmt2)
 HashJoin(c1 bmt1 bmt2)
 MergeJoin(b1t1 b1t2)
@@ -2316,7 +2349,10 @@ MergeJoin(b2t1 b2t2)
 MergeJoin(b3t1 b3t2)
 MergeJoin(bmt2 c1)
 HashJoin(bmt1 bmt2 c1)
-Leading(c1 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt2 bmt1)
+Leading(b1t2 b1t1)
+Leading(b2t2 b2t1)
+Leading(b3t2 b3t1)
 not used hint:
 duplication hint:
 error hint:
@@ -2462,7 +2498,10 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1, s1.t2 b3t2, s1.t3 b3t3, s1.t4 b3t4 WHERE b3
 (67 rows)
 
 /*+
-Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt4 bmt3 bmt2 bmt1)
+Leading(b1t4 b1t3 b1t2 b1t1) 
+Leading(b2t4 b2t3 b2t2 b2t1)
+Leading(b3t4 b3t3 b3t2 b3t1)
 MergeJoin(c1 bmt4)
 HashJoin(c1 bmt4 bmt3)
 NestLoop(c1 bmt4 bmt3 bmt2)
@@ -2504,7 +2543,10 @@ MergeJoin(b2t1 b2t2 b2t3 b2t4)
 MergeJoin(b3t1 b3t2 b3t3 b3t4)
 NestLoop(bmt2 bmt3 bmt4 c1)
 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
-Leading(c1 bmt4 b1t4 b2t4 b3t4 bmt3 b1t3 b2t3 b3t3 bmt2 b1t2 b2t2 b3t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt4 bmt3 bmt2 bmt1)
+Leading(b1t4 b1t3 b1t2 b1t1)
+Leading(b2t4 b2t3 b2t2 b2t1)
+Leading(b3t4 b3t3 b3t2 b3t1)
 not used hint:
 duplication hint:
 error hint:
@@ -2668,7 +2710,8 @@ SELECT max(b3t1.c1) FROM s1.t1 b3t1 WHERE b3t1.ctid = '(1,1)'
 (46 rows)
 
 /*+
-Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt4 bmt3 bmt2 bmt1)
+Leading(b1t4 b1t3 b1t2 b1t1)
 MergeJoin(c1 bmt4)
 HashJoin(c1 bmt4 bmt3)
 NestLoop(c1 bmt4 bmt3 bmt2)
@@ -2698,7 +2741,8 @@ HashJoin(bmt3 bmt4 c1)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(bmt2 bmt3 bmt4 c1)
 MergeJoin(bmt1 bmt2 bmt3 bmt4 c1)
-Leading(c1 bmt4 b1t4 bmt3 b1t3 bmt2 b1t2 bmt1 b1t1 b2t1 b3t1)
+Leading(c1 bmt4 bmt3 bmt2 bmt1)
+Leading(b1t4 b1t3 b1t2 b1t1)
 not used hint:
 duplication hint:
 error hint:
@@ -3085,10 +3129,9 @@ EXPLAIN (COSTS false) UPDATE s1.r2_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
                TID Cond: (ctid = '(1,1)'::tid)
 (39 rows)
 
-/*+Leading(
-b1t1 b1t2 b1t3 b1t4 
-b2t1 b2t2 b2t3 b2t4 r2_
-)
+/*+
+Leading(b1t1 b1t2 b1t3 b1t4 r2_)
+Leading(b2t1 b2t2 b2t3 b2t4 r2_)
 MergeJoin(b1t1 b1t2)
 HashJoin(b1t1 b1t2 b1t3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
@@ -3105,12 +3148,13 @@ MergeJoin(b1t1 b1t2)
 HashJoin(b1t1 b1t2 b1t3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
-Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
+Leading(b1t1 b1t2 b1t3 b1t4 r2_)
 not used hint:
 MergeJoin(b2t1 b2t2)
 HashJoin(b2t1 b2t2 b2t3)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
+Leading(b2t1 b2t2 b2t3 b2t4 r2_)
 duplication hint:
 error hint:
 
@@ -3120,12 +3164,13 @@ MergeJoin(b2t1 b2t2)
 HashJoin(b2t1 b2t2 b2t3)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 MergeJoin(b2t1 b2t2 b2t3 b2t4 r2_)
-Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 r2_)
+Leading(b2t1 b2t2 b2t3 b2t4 r2_)
 not used hint:
 MergeJoin(b1t1 b1t2)
 HashJoin(b1t1 b1t2 b1t3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 MergeJoin(b1t1 b1t2 b1t3 b1t4 r2_)
+Leading(b1t1 b1t2 b1t3 b1t4 r2_)
 duplication hint:
 error hint:
 
@@ -3430,11 +3475,10 @@ EXPLAIN (COSTS false) UPDATE s1.r3_ SET c1 = c1 WHERE c1 = 1 AND ctid = '(1,1)';
                TID Cond: (ctid = '(1,1)'::tid)
 (59 rows)
 
-/*+Leading(
-b1t1 b1t2 b1t3 b1t4 
-b2t1 b2t2 b2t3 b2t4
-b3t1 b3t2 b3t3 b3t4 r3_
-)
+/*+
+Leading(b1t1 b1t2 b1t3 b1t4 r3_)
+Leading(b2t1 b2t2 b2t3 b2t4 r3_)
+Leading(b3t1 b3t2 b3t3 b3t4 r3_)
 MergeJoin(b1t1 b1t2)
 HashJoin(b1t1 b1t2 b1t3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
@@ -3455,7 +3499,7 @@ MergeJoin(b1t1 b1t2)
 HashJoin(b1t1 b1t2 b1t3)
 NestLoop(b1t1 b1t2 b1t3 b1t4)
 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
-Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
+Leading(b1t1 b1t2 b1t3 b1t4 r3_)
 not used hint:
 MergeJoin(b2t1 b2t2)
 MergeJoin(b3t1 b3t2)
@@ -3465,6 +3509,8 @@ NestLoop(b2t1 b2t2 b2t3 b2t4)
 NestLoop(b3t1 b3t2 b3t3 b3t4)
 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
+Leading(b2t1 b2t2 b2t3 b2t4 r3_)
+Leading(b3t1 b3t2 b3t3 b3t4 r3_)
 duplication hint:
 error hint:
 
@@ -3474,7 +3520,7 @@ MergeJoin(b2t1 b2t2)
 HashJoin(b2t1 b2t2 b2t3)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
-Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
+Leading(b2t1 b2t2 b2t3 b2t4 r3_)
 not used hint:
 MergeJoin(b1t1 b1t2)
 MergeJoin(b3t1 b3t2)
@@ -3484,6 +3530,8 @@ NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b3t1 b3t2 b3t3 b3t4)
 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
+Leading(b1t1 b1t2 b1t3 b1t4 r3_)
+Leading(b3t1 b3t2 b3t3 b3t4 r3_)
 duplication hint:
 error hint:
 
@@ -3493,7 +3541,7 @@ MergeJoin(b3t1 b3t2)
 HashJoin(b3t1 b3t2 b3t3)
 NestLoop(b3t1 b3t2 b3t3 b3t4)
 MergeJoin(b3t1 b3t2 b3t3 b3t4 r3_)
-Leading(b1t1 b1t2 b1t3 b1t4 b2t1 b2t2 b2t3 b2t4 b3t1 b3t2 b3t3 b3t4 r3_)
+Leading(b3t1 b3t2 b3t3 b3t4 r3_)
 not used hint:
 MergeJoin(b1t1 b1t2)
 MergeJoin(b2t1 b2t2)
@@ -3503,6 +3551,8 @@ NestLoop(b1t1 b1t2 b1t3 b1t4)
 NestLoop(b2t1 b2t2 b2t3 b2t4)
 MergeJoin(b1t1 b1t2 b1t3 b1t4 r3_)
 MergeJoin(b2t1 b2t2 b2t3 b2t4 r3_)
+Leading(b1t1 b1t2 b1t3 b1t4 r3_)
+Leading(b2t1 b2t2 b2t3 b2t4 r3_)
 duplication hint:
 error hint:
 
@@ -3725,25 +3775,26 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1,
 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;
 LOG:  pg_hint_plan:
 used hint:
-Leading(t3 t1 t2)
 not used hint:
 HashJoin(t1 t3)
 NestLoop(t1 t2 t3)
+Leading(t3 t1 t2)
 duplication hint:
 error hint:
 
-                 QUERY PLAN                  
----------------------------------------------
- Nested Loop
-   Join Filter: (t1.c1 = "*VALUES*".column1)
-   ->  Values Scan on "*VALUES*"
-   ->  Merge Join
-         Merge Cond: (t1.c1 = t2.c1)
-         ->  Index Scan using t1_i1 on t1
-         ->  Sort
-               Sort Key: t2.c1
+                      QUERY PLAN                       
+-------------------------------------------------------
+ Merge Join
+   Merge Cond: (t1.c1 = t2.c1)
+   ->  Index Scan using t1_i1 on t1
+   ->  Sort
+         Sort Key: t2.c1
+         ->  Hash Join
+               Hash Cond: (t2.c1 = "*VALUES*".column1)
                ->  Seq Scan on t2
-(9 rows)
+               ->  Hash
+                     ->  Values Scan on "*VALUES*"
+(10 rows)
 
 /*+ Leading(*VALUES* t1 t2) HashJoin(*VALUES* t1)NestLoop(*VALUES* t1 t2)*/
 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;
@@ -3791,29 +3842,30 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, (VALUES(1,1,1,'1')) AS t3 (c1,
 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;
 LOG:  pg_hint_plan:
 used hint:
-Leading(t4 t3 t2 t1)
 not used hint:
 NestLoop(t3 t4)
 HashJoin(t2 t3 t4)
 MergeJoin(t1 t2 t3 t4)
+Leading(t4 t3 t2 t1)
 duplication hint:
 error hint:
 
-                           QUERY PLAN                           
-----------------------------------------------------------------
+                         QUERY PLAN                          
+-------------------------------------------------------------
  Nested Loop
    Join Filter: (t1.c1 = "*VALUES*".column1)
-   ->  Nested Loop
-         Join Filter: ("*VALUES*".column1 = "*VALUES*".column1)
-         ->  Values Scan on "*VALUES*"
-         ->  Values Scan on "*VALUES*"
    ->  Merge Join
          Merge Cond: (t1.c1 = t2.c1)
          ->  Index Scan using t1_i1 on t1
          ->  Sort
                Sort Key: t2.c1
-               ->  Seq Scan on t2
-(12 rows)
+               ->  Hash Join
+                     Hash Cond: (t2.c1 = "*VALUES*".column1)
+                     ->  Seq Scan on t2
+                     ->  Hash
+                           ->  Values Scan on "*VALUES*"
+   ->  Values Scan on "*VALUES*"
+(13 rows)
 
 /*+ Leading(*VALUES* t3 t2 t1) NestLoop(t4 t3)HashJoin(*VALUES* t3 t2)MergeJoin(*VALUES* t3 t2 t1)*/
 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;
@@ -3827,11 +3879,11 @@ LOG:  pg_hint_plan:
 used hint:
 not used hint:
 NestLoop(t3 t4)
-Leading(*VALUES* t3 t2 t1)
 duplication hint:
 error hint:
 HashJoin(*VALUES* t2 t3)
 MergeJoin(*VALUES* t1 t2 t3)
+Leading(*VALUES* t3 t2 t1)
 
                          QUERY PLAN                          
 -------------------------------------------------------------