diff options
-rw-r--r-- | src/test/regress/expected/partition_prune.out | 45 | ||||
-rw-r--r-- | src/test/regress/sql/partition_prune.sql | 9 |
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; |