From: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>, Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, Beena Emerson <memissemerson(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, amul sul <sulamul(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
Subject: | Re: [HACKERS] Runtime Partition Pruning |
Date: | 2018-04-07 08:45:58 |
Message-ID: | CAKJS1f_yFC8vVLd3mHP4pxhRgPRKb9hqa4Zv+5v5pko6f038dA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 7 April 2018 at 16:26, Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> On Sat, Apr 7, 2018 at 11:26 AM, David Rowley
> <david(dot)rowley(at)2ndquadrant(dot)com> wrote:
>> Everything else looks fine from my point of view.
>
> Me too, although I still think having struct names PartitionPruning
> and PartitionRelPruning is going to be a bit confusing. We should
> think about naming the latter to something else. I suggested
> PartitionPruningDispatch(Data), but David doesn't seem to like it.
> Maybe, PartitionPruneState, because it parallels the
> PartitionPruneInfo that comes from the planner for every partitioned
> table in the tree.
Ok, so I've gone and done this.
PartitionPruning has become PartitionPruneState
PartitionRelPruning has become PartitionPruningData
I've changed pointers to PartitionPruneStates to be named prunestate,
sometimes having the node prefix; as_, ma_, in these cases prune and
state are separated with a _ which seems to be the general rule for
executor state struct members.
Generally, pointers to PartitionPruningData are now named pprune.
Hopefully, that's ok, as this was the name previously used for
PartitionPruning pointers.
I applied the patch to get rid of as_noop_scan in favour of using a
special as_whichplan value. There was already one special value
(INVALID_SUBPLAN_INDEX), so seemed better to build on that rather than
inventing something new. This also means we don't have to make the
AppendState struct and wider too, which seems like a good thing to try
to do.
I made all the fixups which I mentioned in my review earlier and also
re-removed the resultRelation parameter from make_partition_pruneinfo.
It sneaked back into v22.
v23 is attached.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachment | Content-Type | Size |
---|---|---|
v23-0001-Provide-infrastructure-to-allow-partition-prunin.patch | application/octet-stream | 39.8 KB |
v23-0002-Add-bms_prev_member-function.patch | application/octet-stream | 5.3 KB |
v23-0003-Allow-unneeded-Append-subnodes-to-be-pruned-at-e.patch | application/octet-stream | 88.4 KB |
v23-0004-Allow-unneeded-MergeAppend-s-subnodes-to-be-prun.patch | application/octet-stream | 18.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2018-04-07 11:04:48 | Re: WIP: a way forward on bootstrap data |
Previous Message | Michael Banck | 2018-04-07 08:14:49 | Re: Online enabling of checksums |