From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers-owner(at)postgresql(dot)org |
Subject: | Re: Declarative partitioning - another take |
Date: | 2017-04-28 06:13:29 |
Message-ID: | bf5272fd-0055-511b-ece5-611155d3d6db@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thanks for taking a look.
On 2017/04/28 5:24, Robert Haas wrote:
> On Wed, Apr 26, 2017 at 9:30 PM, Amit Langote
> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>>> Do we need to update the documentation?
>>
>> Yes, I think we should. How about as in the attached?
>
> Looks reasonable, but I was thinking you might also update the section
> which contrasts inheritance-based partitioning with declarative
> partitioning.
It seems to me that there is no difference in behavior between
inheritance-based and declarative partitioning as far as statement-level
triggers are concerned (at least currently). In both the cases, we fire
statement-level triggers only for the table specified in the command.
Maybe, we will fix things someday so that statement-level triggers will be
fired for all the tables in a inheritance hierarchy when the root parent
is updated or deleted, but that's currently not true. We may never
implement that behavior for declarative partitioned tables though, so
there will be a difference if and when we implement the former.
Am I missing something?
>> By the way, code changes I made in the attached are such that a subsequent
>> patch could implement firing statement-level triggers of all the tables in
>> a partition hierarchy, which it seems we don't want to do. Should then
>> the code be changed to not create ResultRelInfos of all the tables but
>> only the root table (the one mentioned in the command)? You will see that
>> the patch adds fields named es_nonleaf_result_relations and
>> es_num_nonleaf_result_relations, whereas just es_root_result_relation
>> would perhaps do, for example.
>
> It seems better not to create any ResultRelInfos that we don't
> actually need, so +1 for such a revision to the patch.
OK, done. It took a bit more work than I thought.
Updated patch attached.
Thanks,
Amit
Attachment | Content-Type | Size |
---|---|---|
0001-Fire-per-statement-triggers-of-partitioned-tables.patch | text/x-diff | 27.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Borodin | 2017-04-28 06:17:57 | Re: Merge join for GiST |
Previous Message | Jeevan Chalke | 2017-04-28 05:28:30 | Re: Partition-wise aggregation/grouping |