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)
commit5cc23493195cbd2205d5e476e725657c0a29ea34
treed6dcaa260c92f2823f7dac4975a1a85bf6223fc2
parent0749ef8e9eceb04dd8c365443d0d994f7ad34c17
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