Fire per-statement triggers on partitioned tables.

Even though no actual tuples are ever inserted into a partitioned
table (the actual tuples are in the partitions, not the partitioned
table itself), we still need to have a ResultRelInfo for the
partitioned table, or per-statement triggers won't get fired.

Amit Langote, per a report from Rajkumar Raghuwanshi.  Reviewed by me.

Discussion: 
http://postgr.es/m/CAKcux6%3DwYospCRY2J4XEFuVy0L41S%3Dfic7rmkbsU-GXhhSbmBg%40mail.gmail.com

Branch
------
master

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

Modified Files
--------------
doc/src/sgml/trigger.sgml               | 19 ++++----
src/backend/executor/execMain.c         | 55 ++++++++++++++++++++--
src/backend/executor/nodeModifyTable.c  | 42 +++++++++++++----
src/backend/nodes/copyfuncs.c           |  2 +
src/backend/nodes/outfuncs.c            |  3 ++
src/backend/nodes/readfuncs.c           |  2 +
src/backend/optimizer/plan/createplan.c |  1 +
src/backend/optimizer/plan/planner.c    |  3 ++
src/backend/optimizer/plan/setrefs.c    | 19 ++++++--
src/include/nodes/execnodes.h           | 12 +++++
src/include/nodes/plannodes.h           | 13 +++++-
src/include/nodes/relation.h            |  1 +
src/test/regress/expected/triggers.out  | 81 +++++++++++++++++++++++++++++++++
src/test/regress/sql/triggers.sql       | 70 ++++++++++++++++++++++++++++
14 files changed, 296 insertions(+), 27 deletions(-)


-- 
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to