Re: [PATCH] Push limit to sort through a subquery
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Douglas Doole <dougdoole@gmail.com>,
Konstantin Knizhnik <k.knizhnik@postgrespro.ru>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-08-25T18:01:20Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On another note, here's a second patch applying on top of my earlier > patch to push down Limit through Gather and Gather Merge. I looked through this a little, and feel uncomfortable with the division of typedefs between execnodes.h and tuplesort.h. I'm inclined to push struct SortInstrumentation, and maybe also SharedSortInfo, into tuplesort.h. Then tuplesort_get_stats could be given the signature void tuplesort_get_stats(Tuplesortstate *state, SortInstrumentation *stats); which seems less messy. Thoughts? I'm also pretty suspicious of the filter code you added to subselect.sql. What happens when there's more than one worker? (BTW, would it make sense to number the workers from 1 not 0 in the EXPLAIN printout?) regards, tom lane
Commits
-
Propagate sort instrumentation from workers back to leader.
- bf11e7ee2e36 11.0 landed
-
Push tuple limits through Gather and Gather Merge.
- 3452dc5240da 11.0 landed
-
Code review for pushing LIMIT through subqueries.
- 3f4c7917b3bc 11.0 landed
-
Make new regression test case parallel-safe, and improve its output.
- 1177ab1dabf7 11.0 landed
-
Push limit through subqueries to underlying sort, where possible.
- 1f6d515a67ec 11.0 landed
-
Move targetlist SRF handling from expression evaluation to new executor node.
- 69f4b9c85f16 10.0 cited