Re: Query with high planning time at version 11.1 compared versions 10.5 and 11.0
Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
From: Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, alvherre@2ndquadrant.com,
pryzby@telsasoft.com, sanyo.moura@tatic.net,
Jeff Janes <jeff.janes@gmail.com>, david.rowley@2ndquadrant.com,
Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2019-01-11T12:50:19Z
Lists: pgsql-hackers, pgsql-performance
Attachments
- 0001-Add-child-EC-members-for-only-the-non-dummy-children-efujita-v2.patch (text/x-patch) patch v2-0001
(2019/01/11 13:46), Amit Langote wrote:
> On 2019/01/10 15:07, Etsuro Fujita wrote:
>> (2019/01/10 10:41), Amit Langote wrote:
>>> That's a loaded meaning and abusing it to mean something else can be
>>> challenged, but we can live with that if properly documented. Speaking of
>>> which:
>>>
>>> /* used by partitionwise joins: */
>>> bool consider_partitionwise_join; /* consider
>>> partitionwise join
>>> * paths? (if partitioned
>>> rel) */
>>>
>>> Maybe, mention here how it will be abused in back-branches for
>>> non-partitioned relations?
>>
>> Will do.
>
> Thank you.
I know we don't yet reach a consensus on what to do in details to
address this issue, but for the above, how about adding comments like
this to set_append_rel_size(), instead of the header file:
/*
* If we consider partitionwise joins with the parent rel, do
the same
* for partitioned child rels.
*
* Note: here we abuse the consider_partitionwise_join flag for
child
* rels that are not partitioned, to tell try_partitionwise_join()
* that their targetlists and EC entries have been generated.
*/
if (rel->consider_partitionwise_join)
childrel->consider_partitionwise_join = true;
ISTM that that would be more clearer than the header file.
Updated patch attached, which also updated other comments a little bit.
Best regards,
Etsuro Fujita
Commits
-
Postpone generating tlists and EC members for inheritance dummy children.
- b10e3bba8673 11.2 landed
- 8d8dcead1295 12.0 landed
-
Allow direct lookups of AppendRelInfo by child relid
- 7d872c91a3f9 11.0 cited