Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd2bc501

Browse files
committed
Expand coverage of parallel gather merge a bit.
Previously paths reaching heap_compare_slots weren't covered.Author: Rushabh LathiaReviewed-By: Andres FreundDiscussion:https://postgr.es/m/CAGPqQf3C+3PBujb+7m=ceWeii4-vBY=XS99LjzrpkpefvzJbFg@mail.gmail.comhttps://postgr.es/m/27200.1502482851@sss.pgh.pa.usBackpatch: 10, where gather merge was introduced
1 parent9f14dc3 commitd2bc501

File tree

2 files changed

+65
-18
lines changed

2 files changed

+65
-18
lines changed

‎src/test/regress/expected/select_parallel.out

Lines changed: 55 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -258,32 +258,73 @@ select count(*) from tenk1, tenk2 where tenk1.unique1 = tenk2.unique1;
258258

259259
reset enable_hashjoin;
260260
reset enable_nestloop;
261-
--test gather merge
262-
set enable_hashaggto off;
261+
--test gather merge
262+
set enable_hashagg= false;
263263
explain (costs off)
264-
select string4,count((unique2)) from tenk1 group bystring4 order by string4;
264+
select count(*) from tenk1 group bytwenty;
265265
QUERY PLAN
266266
----------------------------------------------------
267267
Finalize GroupAggregate
268-
Group Key:string4
268+
Group Key:twenty
269269
-> Gather Merge
270270
Workers Planned: 4
271271
-> Partial GroupAggregate
272-
Group Key:string4
272+
Group Key:twenty
273273
-> Sort
274-
Sort Key:string4
274+
Sort Key:twenty
275275
-> Parallel Seq Scan on tenk1
276276
(9 rows)
277277

278-
select string4, count((unique2)) from tenk1 group by string4 order by string4;
279-
string4 | count
280-
---------+-------
281-
AAAAxx | 2500
282-
HHHHxx | 2500
283-
OOOOxx | 2500
284-
VVVVxx | 2500
285-
(4 rows)
278+
select count(*) from tenk1 group by twenty;
279+
count
280+
-------
281+
500
282+
500
283+
500
284+
500
285+
500
286+
500
287+
500
288+
500
289+
500
290+
500
291+
500
292+
500
293+
500
294+
500
295+
500
296+
500
297+
500
298+
500
299+
500
300+
500
301+
(20 rows)
302+
303+
-- gather merge test with 0 worker
304+
set max_parallel_workers = 0;
305+
explain (costs off)
306+
select string4 from tenk1 order by string4 limit 5;
307+
QUERY PLAN
308+
----------------------------------------------
309+
Limit
310+
-> Gather Merge
311+
Workers Planned: 4
312+
-> Sort
313+
Sort Key: string4
314+
-> Parallel Seq Scan on tenk1
315+
(6 rows)
316+
317+
select string4 from tenk1 order by string4 limit 5;
318+
string4
319+
---------
320+
AAAAxx
321+
AAAAxx
322+
AAAAxx
323+
AAAAxx
324+
AAAAxx
325+
(5 rows)
286326

327+
reset max_parallel_workers;
287328
reset enable_hashagg;
288329
set force_parallel_mode=1;
289330
explain (costs off)

‎src/test/regress/sql/select_parallel.sql

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,20 @@ select count(*) from tenk1, tenk2 where tenk1.unique1 = tenk2.unique1;
110110
reset enable_hashjoin;
111111
reset enable_nestloop;
112112

113-
--test gather merge
114-
set enable_hashaggto off;
113+
--test gather merge
114+
set enable_hashagg= false;
115115

116116
explain (costs off)
117-
select string4,count((unique2))from tenk1group bystring4order by string4;
117+
selectcount(*)from tenk1group bytwenty;
118118

119-
select string4,count((unique2))from tenk1group bystring4order by string4;
119+
selectcount(*)from tenk1group bytwenty;
120120

121+
-- gather merge test with 0 worker
122+
set max_parallel_workers=0;
123+
explain (costs off)
124+
select string4from tenk1order by string4limit5;
125+
select string4from tenk1order by string4limit5;
126+
reset max_parallel_workers;
121127
reset enable_hashagg;
122128

123129
set force_parallel_mode=1;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp