OSDN Git Service

Follow the behavior change of PostgreSQL
authorKyotaro Horiguchi <horiguchi.kyotaro@lab.ntt.co.jp>
Tue, 26 Feb 2019 08:48:41 +0000 (17:48 +0900)
committerKyotaro Horiguchi <horiguchi.kyotaro@lab.ntt.co.jp>
Tue, 26 Feb 2019 08:48:41 +0000 (17:48 +0900)
Some behavioral changes of PostgreSQL breaks regression test. Follow
the changes.

expected/init.out
expected/pg_hint_plan.out
expected/ut-A.out
expected/ut-S.out

index 814ed9d..1dd7ff2 100644 (file)
@@ -159,8 +159,9 @@ SELECT name, setting, category
     OR name = 'client_min_messages'
  ORDER BY category, name;
 SELECT * FROM settings;
-             name             |  setting  |                  category                   
-------------------------------+-----------+---------------------------------------------
+             name             |  setting  |                    category                     
+------------------------------+-----------+-------------------------------------------------
+ client_min_messages          | notice    | Client Connection Defaults / Statement Behavior
  geqo                         | on        | Query Tuning / Genetic Query Optimizer
  geqo_effort                  | 5         | Query Tuning / Genetic Query Optimizer
  geqo_generations             | 0         | Query Tuning / Genetic Query Optimizer
@@ -196,7 +197,6 @@ SELECT * FROM settings;
  enable_seqscan               | on        | Query Tuning / Planner Method Configuration
  enable_sort                  | on        | Query Tuning / Planner Method Configuration
  enable_tidscan               | on        | Query Tuning / Planner Method Configuration
- client_min_messages          | notice    | Reporting and Logging / When to Log
 (36 rows)
 
 ANALYZE;
index bf3e1c6..2968c28 100644 (file)
@@ -11,13 +11,13 @@ EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
 (4 rows)
 
 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
-                QUERY PLAN                 
--------------------------------------------
Merge Join
-   Merge Cond: (t2.val = t1.val)
-   ->  Index Scan using t2_val on t2
-   ->  Materialize
-         ->  Index Scan using t1_val on t1
+           QUERY PLAN           
+--------------------------------
Hash Join
+   Hash Cond: (t2.val = t1.val)
+   ->  Seq Scan on t2
+   ->  Hash
+         ->  Seq Scan on t1
 (5 rows)
 
 LOAD 'pg_hint_plan';
@@ -32,13 +32,13 @@ EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
 (4 rows)
 
 EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.val = t2.val;
-                QUERY PLAN                 
--------------------------------------------
Merge Join
-   Merge Cond: (t2.val = t1.val)
-   ->  Index Scan using t2_val on t2
-   ->  Materialize
-         ->  Index Scan using t1_val on t1
+           QUERY PLAN           
+--------------------------------
Hash Join
+   Hash Cond: (t2.val = t1.val)
+   ->  Seq Scan on t2
+   ->  Hash
+         ->  Seq Scan on t1
 (5 rows)
 
 /*+ Test (t1 t2) */
index 46348c0..f0f1bbc 100644 (file)
@@ -2016,6 +2016,8 @@ ERROR:  pg_hint_plan: hint syntax error at or near ""
 DETAIL:  Opening parenthesis is necessary.
 SET client_min_messages TO fatal;
 /*+Set*/SELECT 1;
+ERROR:  pg_hint_plan: hint syntax error at or near ""
+DETAIL:  Opening parenthesis is necessary.
 -- No. A-8-4-11
 RESET client_min_messages;
 SET pg_hint_plan.parse_messages TO DEFAULT;
@@ -3226,6 +3228,7 @@ NestLoop(t1 t1)
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3261,7 +3264,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 SET pg_hint_plan.parse_messages TO error;
@@ -3272,6 +3274,7 @@ DETAIL:  Relation name "t1" is duplicated.
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3307,7 +3310,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 /*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)*/
@@ -3337,6 +3339,7 @@ error hint:
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3372,7 +3375,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 SET pg_hint_plan.parse_messages TO error;
@@ -3383,6 +3385,7 @@ DETAIL:  Relation name "t1" is duplicated.
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3418,7 +3421,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 EXPLAIN (COSTS false) EXECUTE p1;
@@ -3437,6 +3439,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3472,7 +3475,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 SET pg_hint_plan.parse_messages TO error;
@@ -3514,6 +3516,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3549,7 +3552,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 -- No. A-12-1-4
@@ -3557,6 +3559,7 @@ SELECT name, setting FROM settings;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3592,7 +3595,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 SET pg_hint_plan.parse_messages TO error;
@@ -3612,6 +3614,7 @@ EXPLAIN (COSTS false) EXECUTE p1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3647,7 +3650,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 DEALLOCATE p1;
@@ -3682,6 +3684,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3717,7 +3720,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 /*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
@@ -3744,6 +3746,7 @@ error hint:
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3779,7 +3782,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
@@ -3808,6 +3810,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3843,7 +3846,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 BEGIN;
@@ -3873,6 +3875,7 @@ BEGIN;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3908,7 +3911,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
@@ -3938,6 +3940,7 @@ EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | log
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -3973,7 +3976,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | log
 (36 rows)
 
 /*+Set(enable_indexscan on)Set(geqo_threshold 100)IndexScan(t2)MergeJoin(t1 t2)Leading(t2 t1)*/
@@ -4004,6 +4006,7 @@ LOAD 'pg_hint_plan';
 SELECT name, setting FROM settings;
              name             |  setting  
 ------------------------------+-----------
+ client_min_messages          | notice
  geqo                         | on
  geqo_effort                  | 5
  geqo_generations             | 0
@@ -4039,7 +4042,6 @@ SELECT name, setting FROM settings;
  enable_seqscan               | on
  enable_sort                  | on
  enable_tidscan               | on
- client_min_messages          | notice
 (36 rows)
 
 EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
index 27859d0..db96f37 100644 (file)
@@ -1888,7 +1888,7 @@ error hint:
                        Filter: (ctid = '(1,1)'::tid)
                        ->  Bitmap Index Scan on t4_pkey
                              Index Cond: (c1 = b1t2.c1)
-   InitPlan 2 (returns $4)
+   InitPlan 2 (returns $5)
      ->  Aggregate
            ->  Nested Loop
                  Join Filter: (b2t1.c1 = b2t4.c1)
@@ -1908,7 +1908,7 @@ error hint:
                  ->  Index Scan using t4_pkey on t4 b2t4
                        Index Cond: (c1 = b2t2.c1)
                        Filter: (ctid = '(1,1)'::tid)
-   InitPlan 3 (returns $7)
+   InitPlan 3 (returns $8)
      ->  Aggregate
            ->  Nested Loop
                  Join Filter: (b3t1.c1 = b3t2.c1)
@@ -1937,7 +1937,7 @@ error hint:
                      ->  Nested Loop
                            Join Filter: (bmt1.c1 = bmt4.c1)
                            ->  Seq Scan on t1 bmt1
-                                 Filter: ((c1 <> $7) AND (ctid = '(1,1)'::tid))
+                                 Filter: ((c1 <> $8) AND (ctid = '(1,1)'::tid))
                            ->  Tid Scan on t4 bmt4
                                  TID Cond: (ctid = '(1,1)'::tid)
                      ->  Index Scan using t2_pkey on t2 bmt2
@@ -2078,18 +2078,18 @@ error hint:
                        Filter: (ctid = '(1,1)'::tid)
                        ->  Bitmap Index Scan on t4_pkey
                              Index Cond: (c1 = b1t2.c1)
-   InitPlan 3 (returns $3)
+   InitPlan 3 (returns $4)
      ->  Result
-           InitPlan 2 (returns $2)
+           InitPlan 2 (returns $3)
              ->  Limit
                    ->  Bitmap Heap Scan on t1 b2t1
                          Recheck Cond: ((c1 IS NOT NULL) AND (c1 = 1))
                          Filter: (ctid = '(1,1)'::tid)
                          ->  Bitmap Index Scan on t1_pkey
                                Index Cond: ((c1 IS NOT NULL) AND (c1 = 1))
-   InitPlan 5 (returns $5)
+   InitPlan 5 (returns $6)
      ->  Result
-           InitPlan 4 (returns $4)
+           InitPlan 4 (returns $5)
              ->  Limit
                    ->  Index Scan Backward using t1_pkey on t1 b3t1
                          Index Cond: (c1 IS NOT NULL)
@@ -2103,7 +2103,7 @@ error hint:
                      ->  Nested Loop
                            Join Filter: (bmt1.c1 = bmt4.c1)
                            ->  Seq Scan on t1 bmt1
-                                 Filter: ((c1 <> $5) AND (ctid = '(1,1)'::tid))
+                                 Filter: ((c1 <> $6) AND (ctid = '(1,1)'::tid))
                            ->  Tid Scan on t4 bmt4
                                  TID Cond: (ctid = '(1,1)'::tid)
                      ->  Index Scan using t2_pkey on t2 bmt2