]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Preserve firing-on state when cloning row triggers to partitions
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 16 Jul 2021 17:01:43 +0000 (13:01 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 16 Jul 2021 17:01:43 +0000 (13:01 -0400)
commitdf80fa2ee50478391445cef03e42c1b3d64fccca
treef0ecd2f7c668ff2c49cbc9671947868c5388e538
parentead9e51e82363a0e492d56aee83ed11b3759a615
Preserve firing-on state when cloning row triggers to partitions

When triggers are cloned from partitioned tables to their partitions,
the 'tgenabled' flag (origin/replica/always/disable) was not propagated.
Make it so that the flag on the trigger on partition is initially set to
the same value as on the partitioned table.

Add a test case to verify the behavior.

Backpatch to 11, where this appeared in commit 86f575948c77.

Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Reported-by: Justin Pryzby <pryzby@telsasoft.com>
Discussion: https://postgr.es/m/20200930223450.GA14848@telsasoft.com
src/backend/commands/tablecmds.c
src/backend/commands/trigger.c
src/include/commands/trigger.h
src/test/regress/expected/triggers.out
src/test/regress/sql/triggers.sql