On 2017/05/08 10:22, Thomas Munro wrote: > On Mon, May 8, 2017 at 12:47 PM, Amit Langote > <langote_amit...@lab.ntt.co.jp> wrote: >> On 2017/05/03 2:48, Robert Haas wrote: >>> On Tue, May 2, 2017 at 3:30 AM, Amit Langote >>> <langote_amit...@lab.ntt.co.jp> wrote: >>>> You're right. I agree that whatever text we add here should be pointing >>>> out that statement-level triggers of affected child tables are not fired, >>>> when root parent is specified in the command. >>>> >>>> Since there was least some talk of changing that behavior for regular >>>> inheritance so that statement triggers of any affected children are fired >>>> [1], I thought we shouldn't say something general that applies to both >>>> inheritance and partitioning. But since nothing has happened in that >>>> regard, we might as well. >>>> >>>> How about the attached? >>> >>> Looks better, but I think we should say "statement" instead of >>> "operation" for consistency with the previous paragraph, and it >>> certainly shouldn't be capitalized. >> >> Agreed, done. Attached updated patch. > > <para> > + A statement that targets the root table in a inheritance or partitioning > + hierarchy does not cause the statement-level triggers of affected child > + tables to be fired; only the root table's statement-level triggers are > + fired. However, row-level triggers of any affected child tables will be > + fired. > + </para> > + > + <para> > > Why talk specifically about the "root" table? Wouldn't we describe > the situation more generally if we said [a,the] "parent"?
I think that makes sense. Modified it to read: "A statement that targets a parent table in a inheritance or partitioning hierarchy..." in the attached updated patch. Thanks, Amit
>From 5c2c453235d5eedf857a5e7123337aae5aedd761 Mon Sep 17 00:00:00 2001 From: amit <amitlangot...@gmail.com> Date: Mon, 24 Apr 2017 14:55:08 +0900 Subject: [PATCH] Clarify statement trigger behavior with inheritance --- doc/src/sgml/trigger.sgml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml index 6f8416dda7..ce76a1f042 100644 --- a/doc/src/sgml/trigger.sgml +++ b/doc/src/sgml/trigger.sgml @@ -123,6 +123,14 @@ </para> <para> + A statement that targets a parent table in a inheritance or partitioning + hierarchy does not cause the statement-level triggers of affected child + tables to be fired; only the parent table's statement-level triggers are + fired. However, row-level triggers of any affected child tables will be + fired. + </para> + + <para> If an <command>INSERT</command> contains an <literal>ON CONFLICT DO UPDATE</> clause, it is possible that the effects of all row-level <literal>BEFORE</> <command>INSERT</command> triggers -- 2.11.0
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers