]> granicus.if.org Git - postgresql/commit
Fix transition tables for ON CONFLICT.
authorAndrew Gierth <rhodiumtoad@postgresql.org>
Wed, 28 Jun 2017 18:00:55 +0000 (19:00 +0100)
committerAndrew Gierth <rhodiumtoad@postgresql.org>
Wed, 28 Jun 2017 18:00:55 +0000 (19:00 +0100)
commit8c55244ae379822d8bf62f6db0b5b1f7637eea3a
tree3f2afebbcbab046dace68bf6d5f8d1e65fab1437
parentc46c0e5202e8cfe750c6629db7852fdb15d528f3
Fix transition tables for ON CONFLICT.

We now disallow having triggers with both transition tables and ON
INSERT OR UPDATE (which was a PG extension to the spec anyway),
because in this case it's not at all clear how the transition tables
should work for an INSERT ... ON CONFLICT query.  Separate ON INSERT
and ON UPDATE triggers with transition tables are allowed, and the
transition tables for these reflect only the inserted and only the
updated tuples respectively.

Patch by Thomas Munro

Discussion: https://postgr.es/m/CAEepm%3D11KHQ0JmETJQihSvhZB5mUZL2xrqHeXbCeLhDiqQ39%3Dw%40mail.gmail.com
src/backend/commands/trigger.c
src/include/commands/trigger.h
src/test/regress/expected/plpgsql.out
src/test/regress/expected/triggers.out
src/test/regress/sql/plpgsql.sql
src/test/regress/sql/triggers.sql