pgsql: Fix cloning of row triggers to sub-partitions

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix cloning of row triggers to sub-partitions
Date: 2020-01-02 20:11:08
Message-ID: E1in6oG-000543-3d@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix cloning of row triggers to sub-partitions

When row triggers exist in partitioned partitions that are not either
part of FKs or deferred unique constraints, they are not correctly
cloned to their partitions. That's because they are marked "internal",
and those are purposefully skipped when doing the clone triggers dance.
Fix by relaxing the condition on which internal triggers are skipped.

Amit Langote initially diagnosed the problem and proposed a fix, but I
used a different approach.

Reported-by: Petr Fedorov
Discussion: https://postgr.es/m/6b3f0646-ba8c-b3a9-c62d-1c6651a1920f@phystech.edu

Branch
------
REL_11_STABLE

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

Modified Files
--------------
src/backend/commands/tablecmds.c | 65 ++++++++++++++++++++++++++++++++--
src/test/regress/expected/triggers.out | 36 ++++++++++++-------
src/test/regress/sql/triggers.sql | 4 +++
3 files changed, 90 insertions(+), 15 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2020-01-02 21:31:35 pgsql: Correct _bt_delitems_vacuum() lock comments.
Previous Message Tom Lane 2020-01-02 20:02:29 pgsql: Add basic TAP tests for psql's tab-completion logic.