From: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | 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 00:03:24 |
Message-ID: | CAKJS1f99JnkbOshdV_4zoJZ96DPtKeHMHv43JRL_ZdHRkkVKCA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 7 April 2018 at 10:45, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> wrote:
> I'm looking over the rebased patches now.
I've made a complete read of 0001 and 0002 so far.
Your rebase looks fine.
After the complete read, I only have the following comments:
0001:
1. missing "the" before "partition key":
* Extract Params matching partition key and record if we got any.
2. Is this the property name we're going to stick with:
ExplainPropertyInteger("Subplans Pruned", NULL, nplans - nsubnodes, es);
Other ideas are: "Subplans Removed"
3. In the following comment I've used the word "hierarchy", but maybe
we need to add the word "flattened" before it.
* PartitionPruning - Encapsulates a hierarchy of PartitionRelPruning
4. Comment mentions "after init plan", but really we can only know the
value of an exec param during actual execution. So:
* Parameters that are safe to be used for partition pruning. execparams
* are not safe to use until after init plan.
maybe better as:
* Parameters that are safe to be used for partition pruning. execparams
* are not safe to use until the executor is running.
0002:
Looks fine. But if I was committing this, to give me confidence, I'd
want to know how the left_most_one table was generated.
I used:
#include <stdio.h>
int main(void)
{
int i = 1;
printf("0, ");
while (i < 256)
{
printf("%d, ", 31 - __builtin_clz(i));
if ((i & 0xf) == 0xf)
putchar('\n');
i++;
}
return 0;
}
Continuing to read 0003 and 0004 now.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Chapman Flack | 2018-04-07 00:19:28 | Re: [PATCH] Update README for Resource Owners |
Previous Message | Claudio Freire | 2018-04-07 00:00:20 | Re: Vacuum: allow usage of more than 1GB of work mem |