mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
Make some subquery-using test cases a bit more robust.
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
This commit is contained in:
parent
7d4a10e260
commit
b403ea43e4
@ -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
|
-- 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
|
foo
|
||||||
-----
|
-----
|
||||||
(1)
|
(1)
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
select foo from (select null) as foo;
|
select foo from (select null offset 0) as foo;
|
||||||
foo
|
foo
|
||||||
-----
|
-----
|
||||||
()
|
()
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
select foo from (select 'xyzzy',1,null) as foo;
|
select foo from (select 'xyzzy',1,null offset 0) as foo;
|
||||||
foo
|
foo
|
||||||
------------
|
------------
|
||||||
(xyzzy,1,)
|
(xyzzy,1,)
|
||||||
|
@ -1116,22 +1116,21 @@ EXECUTE pstmt('1', make_some_array(1,2));
|
|||||||
|
|
||||||
DEALLOCATE pstmt;
|
DEALLOCATE pstmt;
|
||||||
-- test interaction between subquery and partial_paths
|
-- 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;
|
CREATE VIEW tenk1_vw_sec WITH (security_barrier) AS SELECT * FROM tenk1;
|
||||||
EXPLAIN (COSTS OFF)
|
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
|
QUERY PLAN
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Subquery Scan on tenk1_vw_sec
|
Subquery Scan on tenk1_vw_sec
|
||||||
Filter: (alternatives: SubPlan 1 or hashed SubPlan 2)
|
Filter: ((SubPlan 1) < 100)
|
||||||
-> Gather
|
-> Gather
|
||||||
Workers Planned: 4
|
Workers Planned: 4
|
||||||
-> Parallel Index Only Scan using tenk1_unique1 on tenk1
|
-> Parallel Index Only Scan using tenk1_unique1 on tenk1
|
||||||
SubPlan 1
|
SubPlan 1
|
||||||
-> Result
|
-> Aggregate
|
||||||
One-Time Filter: (tenk1_vw_sec.unique1 = 0)
|
-> Seq Scan on int4_tbl
|
||||||
SubPlan 2
|
Filter: (f1 < tenk1_vw_sec.unique1)
|
||||||
-> Result
|
(9 rows)
|
||||||
(10 rows)
|
|
||||||
|
|
||||||
rollback;
|
rollback;
|
||||||
|
@ -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
|
-- 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;
|
||||||
select foo from (select null) as foo;
|
select foo from (select null offset 0) as foo;
|
||||||
select foo from (select 'xyzzy',1,null) as foo;
|
select foo from (select 'xyzzy',1,null offset 0) as foo;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Test VALUES lists
|
-- Test VALUES lists
|
||||||
|
@ -427,9 +427,9 @@ EXECUTE pstmt('1', make_some_array(1,2));
|
|||||||
DEALLOCATE pstmt;
|
DEALLOCATE pstmt;
|
||||||
|
|
||||||
-- test interaction between subquery and partial_paths
|
-- 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;
|
CREATE VIEW tenk1_vw_sec WITH (security_barrier) AS SELECT * FROM tenk1;
|
||||||
EXPLAIN (COSTS OFF)
|
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;
|
rollback;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user