Accept expected output differences for EXPLAIN
authorPavan Deolasee <[email protected]>
Tue, 17 Apr 2018 06:22:15 +0000 (11:52 +0530)
committerPavan Deolasee <[email protected]>
Tue, 17 Apr 2018 06:22:15 +0000 (11:52 +0530)
After the merge with 9.5.12, we see reduction in the redundant columns in the
targetlists for certain nodes. While we are yet to fully understand the
underlying change that's causing this, the changes loook quite benign and in
fact correct. So accept the changes.

src/test/regress/expected/updatable_views.out
src/test/regress/expected/xc_FQS.out
src/test/regress/expected/xl_plan_pushdown.out

index 61b871b22eb00d8613058bc8d27fd34bb1139fca..bd4072ddf602f4ba9e1a913010f0eb116daf07c4 100644 (file)
@@ -2103,7 +2103,7 @@ UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a = 3;
          Update on public.t12 t1
          Update on public.t111 t1
          ->  Subquery Scan on t1
-               Output: 100, t1.b, t1.c, t1.a, t1.a, t1.a, t1.a, t1.a, t1.a, t1.ctid
+               Output: 100, t1.b, t1.c, t1.a, t1.a, t1.a, t1.ctid
                Filter: snoop(t1.a)
                ->  LockRows
                      Output: t1_5.a, t1_5.ctid, t1_5.b, t1_5.c, t1_5.ctid, t12.ctid, t12.tableoid
@@ -2120,7 +2120,7 @@ UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a = 3;
                                        Output: t111.ctid, t111.tableoid, t111.a
                                        Filter: (t111.a = 3)
          ->  Subquery Scan on t1_1
-               Output: 100, t1_1.b, t1_1.c, t1_1.d, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.ctid
+               Output: 100, t1_1.b, t1_1.c, t1_1.d, t1_1.a, t1_1.a, t1_1.a, t1_1.ctid
                Filter: snoop(t1_1.a)
                ->  LockRows
                      Output: t11.a, t11.ctid, t11.b, t11.c, t11.d, t11.ctid, t12_1.ctid, t12_1.tableoid
@@ -2137,7 +2137,7 @@ UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a = 3;
                                        Output: t111_1.ctid, t111_1.tableoid, t111_1.a
                                        Filter: (t111_1.a = 3)
          ->  Subquery Scan on t1_2
-               Output: 100, t1_2.b, t1_2.c, t1_2.e, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.ctid
+               Output: 100, t1_2.b, t1_2.c, t1_2.e, t1_2.a, t1_2.a, t1_2.a, t1_2.ctid
                Filter: snoop(t1_2.a)
                ->  LockRows
                      Output: t12_2.a, t12_2.ctid, t12_2.b, t12_2.c, t12_2.e, t12_2.ctid, t12_3.ctid, t12_3.tableoid
@@ -2154,7 +2154,7 @@ UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a = 3;
                                        Output: t111_2.ctid, t111_2.tableoid, t111_2.a
                                        Filter: (t111_2.a = 3)
          ->  Subquery Scan on t1_3
-               Output: 100, t1_3.b, t1_3.c, t1_3.d, t1_3.e, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.ctid
+               Output: 100, t1_3.b, t1_3.c, t1_3.d, t1_3.e, t1_3.a, t1_3.a, t1_3.a, t1_3.ctid
                Filter: snoop(t1_3.a)
                ->  LockRows
                      Output: t111_3.a, t111_3.ctid, t111_3.b, t111_3.c, t111_3.d, t111_3.e, t111_3.ctid, t12_4.ctid, t12_4.tableoid
@@ -2194,7 +2194,7 @@ UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8;
          Update on public.t12 t1
          Update on public.t111 t1
          ->  Subquery Scan on t1
-               Output: (t1.a + 1), t1.b, t1.c, t1.a, t1.a, t1.a, t1.a, t1.a, t1.a, t1.ctid
+               Output: (t1.a + 1), t1.b, t1.c, t1.a, t1.a, t1.a, t1.ctid
                Filter: snoop(t1.a)
                ->  LockRows
                      Output: t1_5.a, t1_5.ctid, t1_5.b, t1_5.c, t1_5.ctid, t12.ctid, t12.tableoid
@@ -2211,7 +2211,7 @@ UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8;
                                        Output: t111.ctid, t111.tableoid, t111.a
                                        Filter: (t111.a = 8)
          ->  Subquery Scan on t1_1
-               Output: (t1_1.a + 1), t1_1.b, t1_1.c, t1_1.d, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.a, t1_1.ctid
+               Output: (t1_1.a + 1), t1_1.b, t1_1.c, t1_1.d, t1_1.a, t1_1.a, t1_1.a, t1_1.ctid
                Filter: snoop(t1_1.a)
                ->  LockRows
                      Output: t11.a, t11.ctid, t11.b, t11.c, t11.d, t11.ctid, t12_1.ctid, t12_1.tableoid
@@ -2228,7 +2228,7 @@ UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8;
                                        Output: t111_1.ctid, t111_1.tableoid, t111_1.a
                                        Filter: (t111_1.a = 8)
          ->  Subquery Scan on t1_2
-               Output: (t1_2.a + 1), t1_2.b, t1_2.c, t1_2.e, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.a, t1_2.ctid
+               Output: (t1_2.a + 1), t1_2.b, t1_2.c, t1_2.e, t1_2.a, t1_2.a, t1_2.a, t1_2.ctid
                Filter: snoop(t1_2.a)
                ->  LockRows
                      Output: t12_2.a, t12_2.ctid, t12_2.b, t12_2.c, t12_2.e, t12_2.ctid, t12_3.ctid, t12_3.tableoid
@@ -2245,7 +2245,7 @@ UPDATE v1 SET a=a+1 WHERE snoop(a) AND leakproof(a) AND a = 8;
                                        Output: t111_2.ctid, t111_2.tableoid, t111_2.a
                                        Filter: (t111_2.a = 8)
          ->  Subquery Scan on t1_3
-               Output: (t1_3.a + 1), t1_3.b, t1_3.c, t1_3.d, t1_3.e, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.a, t1_3.ctid
+               Output: (t1_3.a + 1), t1_3.b, t1_3.c, t1_3.d, t1_3.e, t1_3.a, t1_3.a, t1_3.a, t1_3.ctid
                Filter: snoop(t1_3.a)
                ->  LockRows
                      Output: t111_3.a, t111_3.ctid, t111_3.b, t111_3.c, t111_3.d, t111_3.e, t111_3.ctid, t12_4.ctid, t12_4.tableoid
index 0135ff99f7a5b4856fca42a6910dd607c6f4627a..49653a35e51360dfa721ebce98df6867a18a458a 100644 (file)
@@ -420,7 +420,7 @@ explain (verbose on, nodes off, costs off) update tab1_rr set val2 = 1000 where
                            QUERY PLAN                           
 ----------------------------------------------------------------
  Remote Fast Query Execution
-   Output: 1000, tab1_rr.val, tab1_rr.xc_node_id, tab1_rr.ctid
+   Output: 1000
    Remote query: UPDATE tab1_rr SET val2 = 1000 WHERE (val = 7)
    ->  Update on public.tab1_rr
          ->  Seq Scan on public.tab1_rr
@@ -437,17 +437,16 @@ select * from tab1_rr where val = 7;
 
 delete from tab1_rr where val = 7; 
 explain (verbose on, costs off) delete from tab1_rr where val = 7; 
-                       QUERY PLAN                        
----------------------------------------------------------
+                     QUERY PLAN                      
+-----------------------------------------------------
  Remote Fast Query Execution
-   Output: tab1_rr.val, tab1_rr.xc_node_id, tab1_rr.ctid
    Node/s: datanode_1, datanode_2
    Remote query: DELETE FROM tab1_rr WHERE (val = 7)
    ->  Delete on public.tab1_rr
          ->  Seq Scan on public.tab1_rr
                Output: ctid
                Filter: (tab1_rr.val = 7)
-(8 rows)
+(7 rows)
 
 select * from tab1_rr where val = 7;
  val | val2 
@@ -826,10 +825,10 @@ explain (verbose on, nodes off, costs off, num_nodes on) select distinct val2 fr
 -- DMLs
 update tab1_hash set val2 = 1000 where val = 7; 
 explain (verbose on, nodes off, costs off) update tab1_hash set val2 = 1000 where val = 7; 
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                            QUERY PLAN                            
+------------------------------------------------------------------
  Remote Fast Query Execution
-   Output: 1000, tab1_hash.val, tab1_hash.xc_node_id, tab1_hash.ctid
+   Output: 1000
    Remote query: UPDATE tab1_hash SET val2 = 1000 WHERE (val = 7)
    ->  Update on public.tab1_hash
          ->  Seq Scan on public.tab1_hash
@@ -846,17 +845,16 @@ select * from tab1_hash where val = 7;
 
 delete from tab1_hash where val = 7; 
 explain (verbose on, costs off) delete from tab1_hash where val = 7; 
-                          QUERY PLAN                           
----------------------------------------------------------------
+                      QUERY PLAN                       
+-------------------------------------------------------
  Remote Fast Query Execution
-   Output: tab1_hash.val, tab1_hash.xc_node_id, tab1_hash.ctid
    Node/s: datanode_2
    Remote query: DELETE FROM tab1_hash WHERE (val = 7)
    ->  Delete on public.tab1_hash
          ->  Seq Scan on public.tab1_hash
                Output: ctid
                Filter: (tab1_hash.val = 7)
-(8 rows)
+(7 rows)
 
 select * from tab1_hash where val = 7;
  val | val2 
@@ -1235,10 +1233,10 @@ explain (verbose on, nodes off, costs off, num_nodes on) select distinct val2 fr
 -- DMLs
 update tab1_modulo set val2 = 1000 where val = 7; 
 explain (verbose on, nodes off, costs off) update tab1_modulo set val2 = 1000 where val = 7; 
-                                QUERY PLAN                                 
----------------------------------------------------------------------------
+                             QUERY PLAN                             
+--------------------------------------------------------------------
  Remote Fast Query Execution
-   Output: 1000, tab1_modulo.val, tab1_modulo.xc_node_id, tab1_modulo.ctid
+   Output: 1000
    Remote query: UPDATE tab1_modulo SET val2 = 1000 WHERE (val = 7)
    ->  Update on public.tab1_modulo
          ->  Seq Scan on public.tab1_modulo
@@ -1255,17 +1253,16 @@ select * from tab1_modulo where val = 7;
 
 delete from tab1_modulo where val = 7; 
 explain (verbose on, costs off) delete from tab1_modulo where val = 7; 
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                       QUERY PLAN                        
+---------------------------------------------------------
  Remote Fast Query Execution
-   Output: tab1_modulo.val, tab1_modulo.xc_node_id, tab1_modulo.ctid
    Node/s: datanode_2
    Remote query: DELETE FROM tab1_modulo WHERE (val = 7)
    ->  Delete on public.tab1_modulo
          ->  Seq Scan on public.tab1_modulo
                Output: ctid
                Filter: (tab1_modulo.val = 7)
-(8 rows)
+(7 rows)
 
 select * from tab1_modulo where val = 7;
  val | val2 
@@ -1496,7 +1493,7 @@ explain (verbose on, nodes off, costs off) update tab1_replicated set val2 = 100
                                QUERY PLAN                               
 ------------------------------------------------------------------------
  Remote Fast Query Execution
-   Output: 1000, tab1_replicated.val, tab1_replicated.ctid
+   Output: 1000
    Remote query: UPDATE tab1_replicated SET val2 = 1000 WHERE (val = 7)
    ->  Update on public.tab1_replicated
          ->  Seq Scan on public.tab1_replicated
@@ -1515,14 +1512,13 @@ explain (verbose on, costs off) delete from tab1_replicated where val = 7;
                          QUERY PLAN                          
 -------------------------------------------------------------
  Remote Fast Query Execution
-   Output: tab1_replicated.val, tab1_replicated.ctid
    Node/s: datanode_1, datanode_2
    Remote query: DELETE FROM tab1_replicated WHERE (val = 7)
    ->  Delete on public.tab1_replicated
          ->  Seq Scan on public.tab1_replicated
                Output: ctid
                Filter: (tab1_replicated.val = 7)
-(8 rows)
+(7 rows)
 
 select * from tab1_replicated where val = 7;
  val | val2 
index d3d4f389b3f6b3bc3611be2ebd7076921d9fec3e..a310a8adaaf72c0cb8a9323623fd624d88955419 100755 (executable)
@@ -54,7 +54,7 @@ EXPLAIN VERBOSE UPDATE xl_pp SET b=2 where a=200;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: 2, xl_pp.a, xl_pp.xc_node_id, xl_pp.ctid
+   Output: 2
    Node/s: datanode_1
    Remote query: UPDATE xl_pp SET b = 2 WHERE (a = 200)
    ->  Update on public.xl_pp  (cost=0.00..35.50 rows=10 width=14)
@@ -67,7 +67,7 @@ EXPLAIN VERBOSE UPDATE xl_pp SET b=2 where a=200::bigint;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: 2, xl_pp.a, xl_pp.xc_node_id, xl_pp.ctid
+   Output: 2
    Node/s: datanode_1
    Remote query: UPDATE xl_pp SET b = 2 WHERE (a = (200)::bigint)
    ->  Update on public.xl_pp  (cost=0.00..35.50 rows=10 width=14)
@@ -80,14 +80,13 @@ EXPLAIN VERBOSE DELETE FROM xl_pp where a=200;
                                 QUERY PLAN                                
 --------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_pp.a, xl_pp.xc_node_id, xl_pp.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_pp WHERE (a = 200)
    ->  Delete on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
          ->  Seq Scan on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
                Output: ctid
                Filter: (xl_pp.a = 200)
-(8 rows)
+(7 rows)
 
 SELECT * from xl_pp where a=200;
  a | b 
@@ -103,27 +102,25 @@ EXPLAIN VERBOSE DELETE FROM xl_pp where a=200;
                                 QUERY PLAN                                
 --------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_pp.a, xl_pp.xc_node_id, xl_pp.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_pp WHERE (a = 200)
    ->  Delete on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
          ->  Seq Scan on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
                Output: ctid
                Filter: (xl_pp.a = 200)
-(8 rows)
+(7 rows)
 
 EXPLAIN VERBOSE DELETE FROM xl_pp where a=200::bigint;
                                 QUERY PLAN                                
 --------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_pp.a, xl_pp.xc_node_id, xl_pp.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_pp WHERE (a = (200)::bigint)
    ->  Delete on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
          ->  Seq Scan on public.xl_pp  (cost=0.00..35.50 rows=10 width=6)
                Output: ctid
                Filter: (xl_pp.a = '200'::bigint)
-(8 rows)
+(7 rows)
 
 --Testing with MODULO distribution
 CREATE TABLE xl_ppm (a INT2, b int) DISTRIBUTE BY MODULO(a);
@@ -168,7 +165,7 @@ EXPLAIN VERBOSE UPDATE xl_ppm SET b=2 where a=200;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: 2, xl_ppm.a, xl_ppm.xc_node_id, xl_ppm.ctid
+   Output: 2
    Node/s: datanode_1
    Remote query: UPDATE xl_ppm SET b = 2 WHERE (a = 200)
    ->  Update on public.xl_ppm  (cost=0.00..40.00 rows=12 width=8)
@@ -181,7 +178,7 @@ EXPLAIN VERBOSE UPDATE xl_ppm SET b=2 where a=200::INT2;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: 2, xl_ppm.a, xl_ppm.xc_node_id, xl_ppm.ctid
+   Output: 2
    Node/s: datanode_1
    Remote query: UPDATE xl_ppm SET b = 2 WHERE (a = (200)::smallint)
    ->  Update on public.xl_ppm  (cost=0.00..40.00 rows=12 width=8)
@@ -194,14 +191,13 @@ EXPLAIN VERBOSE DELETE FROM xl_ppm where a=200;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_ppm.a, xl_ppm.xc_node_id, xl_ppm.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_ppm WHERE (a = 200)
    ->  Delete on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
          ->  Seq Scan on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
                Output: ctid
                Filter: (xl_ppm.a = 200)
-(8 rows)
+(7 rows)
 
 SELECT * from xl_ppm where a=200;
  a | b 
@@ -217,27 +213,25 @@ EXPLAIN VERBOSE DELETE FROM xl_ppm where a=200;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_ppm.a, xl_ppm.xc_node_id, xl_ppm.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_ppm WHERE (a = 200)
    ->  Delete on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
          ->  Seq Scan on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
                Output: ctid
                Filter: (xl_ppm.a = 200)
-(8 rows)
+(7 rows)
 
 EXPLAIN VERBOSE DELETE FROM xl_ppm where a=200::INT2;
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Remote Fast Query Execution  (cost=0.00..0.00 rows=0 width=0)
-   Output: xl_ppm.a, xl_ppm.xc_node_id, xl_ppm.ctid
    Node/s: datanode_1
    Remote query: DELETE FROM xl_ppm WHERE (a = (200)::smallint)
    ->  Delete on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
          ->  Seq Scan on public.xl_ppm  (cost=0.00..40.00 rows=12 width=6)
                Output: ctid
                Filter: (xl_ppm.a = '200'::smallint)
-(8 rows)
+(7 rows)
 
 DROP TABLE xl_pp;
 DROP TABLE xl_ppm;