Skip to content

Commit 4b1dd62

Browse files
committed
Improve code coverage of select_parallel test.
Make sure that rescans of parallel indexscans are tested. Per code coverage report.
1 parent b5c75fe commit 4b1dd62

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

src/test/regress/expected/select_parallel.out

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,61 @@ select count(*) from tenk1 where thousand > 95;
179179
9040
180180
(1 row)
181181

182+
-- test rescan cases too
183+
set enable_material = false;
184+
explain (costs off)
185+
select * from
186+
(select count(unique1) from tenk1 where hundred > 10) ss
187+
right join (values (1),(2),(3)) v(x) on true;
188+
QUERY PLAN
189+
--------------------------------------------------------------------------
190+
Nested Loop Left Join
191+
-> Values Scan on "*VALUES*"
192+
-> Finalize Aggregate
193+
-> Gather
194+
Workers Planned: 4
195+
-> Partial Aggregate
196+
-> Parallel Index Scan using tenk1_hundred on tenk1
197+
Index Cond: (hundred > 10)
198+
(8 rows)
199+
200+
select * from
201+
(select count(unique1) from tenk1 where hundred > 10) ss
202+
right join (values (1),(2),(3)) v(x) on true;
203+
count | x
204+
-------+---
205+
8900 | 1
206+
8900 | 2
207+
8900 | 3
208+
(3 rows)
209+
210+
explain (costs off)
211+
select * from
212+
(select count(*) from tenk1 where thousand > 99) ss
213+
right join (values (1),(2),(3)) v(x) on true;
214+
QUERY PLAN
215+
--------------------------------------------------------------------------------------
216+
Nested Loop Left Join
217+
-> Values Scan on "*VALUES*"
218+
-> Finalize Aggregate
219+
-> Gather
220+
Workers Planned: 4
221+
-> Partial Aggregate
222+
-> Parallel Index Only Scan using tenk1_thous_tenthous on tenk1
223+
Index Cond: (thousand > 99)
224+
(8 rows)
225+
226+
select * from
227+
(select count(*) from tenk1 where thousand > 99) ss
228+
right join (values (1),(2),(3)) v(x) on true;
229+
count | x
230+
-------+---
231+
9000 | 1
232+
9000 | 2
233+
9000 | 3
234+
(3 rows)
235+
236+
reset enable_material;
182237
reset enable_seqscan;
183238
reset enable_bitmapscan;
184239
-- test parallel bitmap heap scan.

src/test/regress/sql/select_parallel.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,26 @@ explain (costs off)
6565
select count(*) from tenk1 where thousand > 95;
6666
select count(*) from tenk1 where thousand > 95;
6767

68+
-- test rescan cases too
69+
set enable_material = false;
70+
71+
explain (costs off)
72+
select * from
73+
(select count(unique1) from tenk1 where hundred > 10) ss
74+
right join (values (1),(2),(3)) v(x) on true;
75+
select * from
76+
(select count(unique1) from tenk1 where hundred > 10) ss
77+
right join (values (1),(2),(3)) v(x) on true;
78+
79+
explain (costs off)
80+
select * from
81+
(select count(*) from tenk1 where thousand > 99) ss
82+
right join (values (1),(2),(3)) v(x) on true;
83+
select * from
84+
(select count(*) from tenk1 where thousand > 99) ss
85+
right join (values (1),(2),(3)) v(x) on true;
86+
87+
reset enable_material;
6888
reset enable_seqscan;
6989
reset enable_bitmapscan;
7090

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy