Make some subquery-using test cases a bit more robust.
authorTom Lane
Sun, 14 Oct 2018 18:02:59 +0000 (14:02 -0400)
committerTom Lane
Sun, 14 Oct 2018 18:02:59 +0000 (14:02 -0400)
These test cases could be adversely affected by an upcoming change
to allow pullup of FROM-less subqueries.  Tweak them to ensure that
they'll continue to test what they did before.

Discussion: https://postgr.es/m/5395.1539275668@sss.pgh.pa.us

src/test/regress/expected/select.out
src/test/regress/expected/select_parallel.out
src/test/regress/sql/select.sql
src/test/regress/sql/select_parallel.sql

index 7ad1f0bc773593e9c45554c35e0d94e6ae106166..c441049f4131c99cf9721021df867890a703eafd 100644 (file)
@@ -438,19 +438,19 @@ SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
 --
 -- Test some cases involving whole-row Var referencing a subquery
 --
-select foo from (select 1) as foo;
+select foo from (select 1 offset 0) as foo;
  foo 
 -----
  (1)
 (1 row)
 
-select foo from (select null) as foo;
+select foo from (select null offset 0) as foo;
  foo 
 -----
  ()
 (1 row)
 
-select foo from (select 'xyzzy',1,null) as foo;
+select foo from (select 'xyzzy',1,null offset 0) as foo;
     foo     
 ------------
  (xyzzy,1,)
index 9910177ca6e5a53a9cff51b0a4ef6d2906d79bbc..0eca76cb41e78300ef41069d92f660606b10aab0 100644 (file)
@@ -1116,22 +1116,21 @@ EXECUTE pstmt('1', make_some_array(1,2));
 
 DEALLOCATE pstmt;
 -- test interaction between subquery and partial_paths
-SET LOCAL min_parallel_table_scan_size TO 0;
 CREATE VIEW tenk1_vw_sec WITH (security_barrier) AS SELECT * FROM tenk1;
 EXPLAIN (COSTS OFF)
-SELECT 1 FROM tenk1_vw_sec WHERE EXISTS (SELECT 1 WHERE unique1 = 0);
+SELECT 1 FROM tenk1_vw_sec
+  WHERE (SELECT sum(f1) FROM int4_tbl WHERE f1 < unique1) < 100;
                             QUERY PLAN                             
 -------------------------------------------------------------------
  Subquery Scan on tenk1_vw_sec
-   Filter: (alternatives: SubPlan 1 or hashed SubPlan 2)
+   Filter: ((SubPlan 1) < 100)
    ->  Gather
          Workers Planned: 4
          ->  Parallel Index Only Scan using tenk1_unique1 on tenk1
    SubPlan 1
-     ->  Result
-           One-Time Filter: (tenk1_vw_sec.unique1 = 0)
-   SubPlan 2
-     ->  Result
-(10 rows)
+     ->  Aggregate
+           ->  Seq Scan on int4_tbl
+                 Filter: (f1 < tenk1_vw_sec.unique1)
+(9 rows)
 
 rollback;
index fdab06d5bc1fdce4accf07e5ddc68cbbb931f2de..b5929b2eca68655bbc73339be54d5ed9a7b4aba6 100644 (file)
@@ -116,9 +116,9 @@ SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
 --
 -- Test some cases involving whole-row Var referencing a subquery
 --
-select foo from (select 1) as foo;
-select foo from (select null) as foo;
-select foo from (select 'xyzzy',1,null) as foo;
+select foo from (select 1 offset 0) as foo;
+select foo from (select null offset 0) as foo;
+select foo from (select 'xyzzy',1,null offset 0) as foo;
 
 --
 -- Test VALUES lists
index e0f99accb4d5d859f62b2676653dc5c1a3a1bd75..03c056b8b771f64c7c02d6157412f6708636c485 100644 (file)
@@ -427,9 +427,9 @@ EXECUTE pstmt('1', make_some_array(1,2));
 DEALLOCATE pstmt;
 
 -- test interaction between subquery and partial_paths
-SET LOCAL min_parallel_table_scan_size TO 0;
 CREATE VIEW tenk1_vw_sec WITH (security_barrier) AS SELECT * FROM tenk1;
 EXPLAIN (COSTS OFF)
-SELECT 1 FROM tenk1_vw_sec WHERE EXISTS (SELECT 1 WHERE unique1 = 0);
+SELECT 1 FROM tenk1_vw_sec
+  WHERE (SELECT sum(f1) FROM int4_tbl WHERE f1 < unique1) < 100;
 
 rollback;