Thread: [COMMITTERS] pgsql: Fix transition tables for partition/inheritance.

[COMMITTERS] pgsql: Fix transition tables for partition/inheritance.

From
Andrew Gierth
Date:
Fix transition tables for partition/inheritance.

We disallow row-level triggers with transition tables on child tables.
Transition tables for triggers on the parent table contain only those
columns present in the parent.  (We can't mix tuple formats in a
single transition table.)

Patch by Thomas Munro

Discussion: https://postgr.es/m/CA%2BTgmoZzTBBAsEUh4MazAN7ga%3D8SsMC-Knp-6cetts9yNZUCcg%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/501ed02cf6f4f60c3357775eb07578aebc912d3a

Modified Files
--------------
doc/src/sgml/ref/create_trigger.sgml   |  14 ++
src/backend/catalog/pg_inherits.c      |  24 +++
src/backend/commands/copy.c            |  70 ++++++-
src/backend/commands/tablecmds.c       |  28 +++
src/backend/commands/trigger.c         | 218 ++++++++++++++++----
src/backend/executor/execMain.c        |   2 +-
src/backend/executor/execReplication.c |   6 +-
src/backend/executor/nodeModifyTable.c | 150 ++++++++++++--
src/include/catalog/pg_inherits_fn.h   |   1 +
src/include/commands/trigger.h         |  45 +++-
src/include/nodes/execnodes.h          |   4 +
src/test/regress/expected/triggers.out | 326 ++++++++++++++++++++++++++---
src/test/regress/sql/triggers.sql      | 365 ++++++++++++++++++++++++++++++---
13 files changed, 1143 insertions(+), 110 deletions(-)