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:54:50Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Fri, Aug 25, 2017 at 2:01 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> 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. > I think moving SharedSortInfo into tuplesort.h would be a gross > abstraction violation, but moving SortInstrumentation into tuplesort.h > seems like a modest improvement. Hmm, I'm not sure why SortInstrumentation belongs naturally to tuplesort.h but putting an array of them there would be a "gross abstraction violation". Perhaps it would help to rename struct SharedSortInfo to SortInstrumentationArray, and change its field names to be less specific to the parallel-worker use case? >> (BTW, would it make sense to number the workers from 1 not 0 in the >> EXPLAIN printout?) > ... So I'm in favor of leaving it alone; I don't think that 0-based > indexing is such an obscure convention that it will flummox users. OK, I'm not particularly set on that. 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