pgsql: Ensure that BEFORE STATEMENT triggers fire the right number of t

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Ensure that BEFORE STATEMENT triggers fire the right number of t
Date: 2017-09-17 16:16:52
Message-ID: E1dtcFY-0000EU-Em@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Ensure that BEFORE STATEMENT triggers fire the right number of times.

Commit 0f79440fb introduced mechanism to keep AFTER STATEMENT triggers
from firing more than once per statement, which was formerly possible
if more than one FK enforcement action had to be applied to a given
table. Add a similar mechanism for BEFORE STATEMENT triggers, so that
we don't have the unexpected situation of firing BEFORE STATEMENT
triggers more often than AFTER STATEMENT.

As with the previous patch, back-patch to v10.

Discussion: https://postgr.es/m/22315.1505584992@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fd31f9f033213e2ebf00b57ef837e1828c338fc4

Modified Files
--------------
doc/src/sgml/ref/create_trigger.sgml | 14 ++++---
src/backend/commands/trigger.c | 72 ++++++++++++++++++++++++++++------
src/test/regress/expected/triggers.out | 12 ++++++
src/test/regress/sql/triggers.sql | 6 +++
4 files changed, 87 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2017-09-17 18:50:23 pgsql: Fix possible dangling pointer dereference in trigger.c.
Previous Message Tom Lane 2017-09-17 15:35:32 pgsql: Fix bogus size calculation introduced by commit cc5f81366.