]> granicus.if.org Git - postgresql/commit
Ensure that BEFORE STATEMENT triggers fire the right number of times.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Sep 2017 16:16:38 +0000 (12:16 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Sep 2017 16:16:38 +0000 (12:16 -0400)
commitfd31f9f033213e2ebf00b57ef837e1828c338fc4
tree945081f4a4faa57f17a648ef68a51d2f4fbb7917
parentcad22075bc2ce9c1fbe61e8d3969d4dbdb5bc1f3
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
doc/src/sgml/ref/create_trigger.sgml
src/backend/commands/trigger.c
src/test/regress/expected/triggers.out
src/test/regress/sql/triggers.sql