From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: expanding inheritance in partition bound order |
Date: | 2017-08-21 06:10:55 |
Message-ID: | e7fcaf87-1923-b79b-ed20-a533ad6e8f3b@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Amit,
On 2017/08/17 21:18, Amit Khandekar wrote:
> Anyways, some more comments :
>
> In ExecSetupPartitionTupleRouting(), not sure why ptrinfos array is an
> array of pointers. Why can't it be an array of
> PartitionTupleRoutingInfo structure rather than pointer to that
> structure ?
AFAIK, assigning pointers is less expensive than assigning struct and we
end up doing a lot of assigning of the members of that array to a local
variable in get_partition_for_tuple(), for example. Perhaps, we could
avoid those assignments and implement it the way you suggest.
> diff --git a/src/backend/catalog/partition.c b/src/backend/catalog/partition.c
> + * Close all the leaf partitions and their indices.
> *
> Above comment needs to be shifted a bit down to the subsequent "for"
> loop where it's actually applicable.
That's right, done.
> * node->mt_partition_dispatch_info[0] corresponds to the root partitioned
> * table, for which we didn't create tupslot.
> Above : node->mt_partition_dispatch_info[0] => node->mt_ptrinfos[0]
Oops, fixed.
> /*
> * XXX- do we need a pinning mechanism for partition descriptors
> * so that there references can be managed independently of
> * the parent relcache entry? Like PinPartitionDesc(partdesc)?
> */
> pd->partdesc = partdesc;
>
> Any idea if the above can be handled ? I am not too sure.
A similar mechanism exists for TupleDesc ref-counting (see the usage of
PinTupleDesc and ReleaseTupleDesc across the backend code.) I too am
currently unsure if such an elaborate mechanism is actually *necessary*
for rd_partdesc.
Attached updated patches.
Thanks,
Amit
Attachment | Content-Type | Size |
---|---|---|
0001-Decouple-RelationGetPartitionDispatchInfo-from-execu.patch | text/plain | 37.2 KB |
0002-Teach-expand_inherited_rtentry-to-use-partition-boun.patch | text/plain | 2.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2017-08-21 06:37:18 | path toward faster partition pruning |
Previous Message | Simon Riggs | 2017-08-21 05:45:43 | Re: Proposal: global index |