aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/regress/expected/partition_prune.out45
-rw-r--r--src/test/regress/sql/partition_prune.sql9
2 files changed, 26 insertions, 28 deletions
diff --git a/src/test/regress/expected/partition_prune.out b/src/test/regress/expected/partition_prune.out
index 80e71b8e2b9..c72a6d051f1 100644
--- a/src/test/regress/expected/partition_prune.out
+++ b/src/test/regress/expected/partition_prune.out
@@ -3684,18 +3684,17 @@ create table listp_12_2 partition of listp_12 for values in(2);
alter table listp_12_1 set (parallel_workers = 0);
-- Ensure that listp_12_2 is not scanned. (The nested Append is not seen in
-- the plan as it's pulled in setref.c due to having just a single subnode).
-explain (analyze on, costs off, timing off, summary off)
-select * from listp where a = (select 1);
- QUERY PLAN
+select explain_parallel_append('select * from listp where a = (select 1);');
+ explain_parallel_append
----------------------------------------------------------------------
- Gather (actual rows=0 loops=1)
+ Gather (actual rows=N loops=N)
Workers Planned: 2
Params Evaluated: $0
- Workers Launched: 2
+ Workers Launched: N
InitPlan 1 (returns $0)
- -> Result (actual rows=1 loops=1)
- -> Parallel Append (actual rows=0 loops=3)
- -> Seq Scan on listp_12_1 listp_1 (actual rows=0 loops=1)
+ -> Result (actual rows=N loops=N)
+ -> Parallel Append (actual rows=N loops=N)
+ -> Seq Scan on listp_12_1 listp_1 (actual rows=N loops=N)
Filter: (a = $0)
-> Parallel Seq Scan on listp_12_2 listp_2 (never executed)
Filter: (a = $0)
@@ -3704,34 +3703,34 @@ select * from listp where a = (select 1);
-- Like the above but throw some more complexity at the planner by adding
-- a UNION ALL. We expect both sides of the union not to scan the
-- non-required partitions.
-explain (analyze on, costs off, timing off, summary off)
-select * from listp where a = (select 1)
+select explain_parallel_append(
+'select * from listp where a = (select 1)
union all
-select * from listp where a = (select 2);
- QUERY PLAN
+select * from listp where a = (select 2);');
+ explain_parallel_append
-----------------------------------------------------------------------------------
- Append (actual rows=0 loops=1)
- -> Gather (actual rows=0 loops=1)
+ Append (actual rows=N loops=N)
+ -> Gather (actual rows=N loops=N)
Workers Planned: 2
Params Evaluated: $0
- Workers Launched: 2
+ Workers Launched: N
InitPlan 1 (returns $0)
- -> Result (actual rows=1 loops=1)
- -> Parallel Append (actual rows=0 loops=3)
- -> Seq Scan on listp_12_1 listp_1 (actual rows=0 loops=1)
+ -> Result (actual rows=N loops=N)
+ -> Parallel Append (actual rows=N loops=N)
+ -> Seq Scan on listp_12_1 listp_1 (actual rows=N loops=N)
Filter: (a = $0)
-> Parallel Seq Scan on listp_12_2 listp_2 (never executed)
Filter: (a = $0)
- -> Gather (actual rows=0 loops=1)
+ -> Gather (actual rows=N loops=N)
Workers Planned: 2
Params Evaluated: $1
- Workers Launched: 2
+ Workers Launched: N
InitPlan 2 (returns $1)
- -> Result (actual rows=1 loops=1)
- -> Parallel Append (actual rows=0 loops=3)
+ -> Result (actual rows=N loops=N)
+ -> Parallel Append (actual rows=N loops=N)
-> Seq Scan on listp_12_1 listp_4 (never executed)
Filter: (a = $1)
- -> Parallel Seq Scan on listp_12_2 listp_5 (actual rows=0 loops=1)
+ -> Parallel Seq Scan on listp_12_2 listp_5 (actual rows=N loops=N)
Filter: (a = $1)
(23 rows)
diff --git a/src/test/regress/sql/partition_prune.sql b/src/test/regress/sql/partition_prune.sql
index 939a9b1193e..ffd5fe8b0dc 100644
--- a/src/test/regress/sql/partition_prune.sql
+++ b/src/test/regress/sql/partition_prune.sql
@@ -1067,16 +1067,15 @@ alter table listp_12_1 set (parallel_workers = 0);
-- Ensure that listp_12_2 is not scanned. (The nested Append is not seen in
-- the plan as it's pulled in setref.c due to having just a single subnode).
-explain (analyze on, costs off, timing off, summary off)
-select * from listp where a = (select 1);
+select explain_parallel_append('select * from listp where a = (select 1);');
-- Like the above but throw some more complexity at the planner by adding
-- a UNION ALL. We expect both sides of the union not to scan the
-- non-required partitions.
-explain (analyze on, costs off, timing off, summary off)
-select * from listp where a = (select 1)
+select explain_parallel_append(
+'select * from listp where a = (select 1)
union all
-select * from listp where a = (select 2);
+select * from listp where a = (select 2);');
drop table listp;
reset parallel_tuple_cost;