OSDN Git Service

Fix bogus error handling
[pghintplan/pg_hint_plan.git] / expected / ut-J.out
index 704bcc7..85cf692 100644 (file)
@@ -430,7 +430,6 @@ HashJoin(t1 t1 t2 t2)
                    QUERY PLAN                   
 ------------------------------------------------
  Nested Loop
-   Join Filter: (t1.c1 = t4.c1)
    ->  Merge Join
          Merge Cond: (t1.c1 = t2.c1)
          ->  Merge Join
@@ -441,8 +440,8 @@ HashJoin(t1 t1 t2 t2)
                Sort Key: t2.c1
                ->  Seq Scan on t2
    ->  Index Scan using t4_i1 on t4
-         Index Cond: (c1 = t3.c1)
-(13 rows)
+         Index Cond: (c1 = t1.c1)
+(12 rows)
 
 ----
 ---- No. J-1-6 object type for the hint
@@ -4379,6 +4378,97 @@ error hint:
 (19 rows)
 
 ----
+---- No. J-3-2-2 join partitioned tables
+----
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+              QUERY PLAN              
+--------------------------------------
+ Hash Join
+   Hash Cond: (p2.c1 = pt1_c1.c1)
+   ->  Append
+         ->  Seq Scan on p2
+         ->  Seq Scan on p2c1
+         ->  Seq Scan on p2c2
+         ->  Seq Scan on p2c3
+         ->  Seq Scan on p2c1c1
+         ->  Seq Scan on p2c1c2
+         ->  Seq Scan on p2c2c1
+         ->  Seq Scan on p2c2c2
+         ->  Seq Scan on p2c3c1
+         ->  Seq Scan on p2c3c2
+   ->  Hash
+         ->  Append
+               ->  Seq Scan on pt1_c1
+               ->  Seq Scan on pt1_c2
+               ->  Seq Scan on pt1_c3
+(18 rows)
+
+/*+MergeJoin(pt1 p2)*/
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+LOG:  pg_hint_plan:
+used hint:
+MergeJoin(p2 pt1)
+not used hint:
+duplication hint:
+error hint:
+
+              QUERY PLAN              
+--------------------------------------
+ Merge Join
+   Merge Cond: (pt1_c1.c1 = p2.c1)
+   ->  Sort
+         Sort Key: pt1_c1.c1
+         ->  Append
+               ->  Seq Scan on pt1_c1
+               ->  Seq Scan on pt1_c2
+               ->  Seq Scan on pt1_c3
+   ->  Sort
+         Sort Key: p2.c1
+         ->  Append
+               ->  Seq Scan on p2
+               ->  Seq Scan on p2c1
+               ->  Seq Scan on p2c2
+               ->  Seq Scan on p2c3
+               ->  Seq Scan on p2c1c1
+               ->  Seq Scan on p2c1c2
+               ->  Seq Scan on p2c2c1
+               ->  Seq Scan on p2c2c2
+               ->  Seq Scan on p2c3c1
+               ->  Seq Scan on p2c3c2
+(21 rows)
+
+/*+MergeJoin(pt1_c1 p2c1)*/ /* will ignored */
+EXPLAIN (COSTS false) SELECT * FROM s1.pt1, s1.p2 WHERE pt1.c1 = p2.c1;
+LOG:  pg_hint_plan:
+used hint:
+not used hint:
+MergeJoin(p2c1 pt1_c1)
+duplication hint:
+error hint:
+
+              QUERY PLAN              
+--------------------------------------
+ Hash Join
+   Hash Cond: (p2.c1 = pt1_c1.c1)
+   ->  Append
+         ->  Seq Scan on p2
+         ->  Seq Scan on p2c1
+         ->  Seq Scan on p2c2
+         ->  Seq Scan on p2c3
+         ->  Seq Scan on p2c1c1
+         ->  Seq Scan on p2c1c2
+         ->  Seq Scan on p2c2c1
+         ->  Seq Scan on p2c2c2
+         ->  Seq Scan on p2c3c1
+         ->  Seq Scan on p2c3c2
+   ->  Hash
+         ->  Append
+               ->  Seq Scan on pt1_c1
+               ->  Seq Scan on pt1_c2
+               ->  Seq Scan on pt1_c3
+(18 rows)
+
+----
 ---- No. J-3-3 conflict join method hint
 ----
 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;