pgsql: Propagate trigger arguments to partitions
Propagate trigger arguments to partitions
We were creating the cloned triggers with an empty list of arguments,
losing the ones that had been specified by the user when creating the
trigger in the partitioned table. Repair.
This was forgotten in commit 86f575948c77.
Author: Patrick McHardy
Reviewed-by: Tomas Vondra
Discussion: /messages/by-id/20190709130027.amr2cavjvo7rdvac@access1.trash.net
Discussion: /messages/by-id/15752-123bc90287986de4@postgresql.org
Branch
------
REL_11_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/1637d959d618886ac6ca59cc3c3785ce5ba06b40
Modified Files
--------------
src/backend/commands/tablecmds.c | 23 ++++++++++++++++++++++-
src/backend/commands/trigger.c | 1 -
src/test/regress/expected/triggers.out | 24 ++++++++++++++++++++++++
src/test/regress/sql/triggers.sql | 23 +++++++++++++++++++++++
4 files changed, 69 insertions(+), 2 deletions(-)
Hi Alvaro,
On Tue, Jul 09, 2019 at 09:23:45PM +0000, Alvaro Herrera wrote:
Propagate trigger arguments to partitions
We were creating the cloned triggers with an empty list of arguments,
losing the ones that had been specified by the user when creating the
trigger in the partitioned table. Repair.This was forgotten in commit 86f575948c77.
This commit has broken the buildfarm on REL_11_STABLE for a couple of
animals:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prion&dt=2019-07-10%2006%3A27%3A02
/home/ec2-user/bf/root/REL_11_STABLE/pgsql.build/../pgsql/src/backend/commands/tablecmds.c:
In function ‘CloneRowTriggersToPartition’:
/home/ec2-user/bf/root/REL_11_STABLE/pgsql.build/../pgsql/src/backend/commands/tablecmds.c:15283:4:
error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < trigForm->tgnargs; i++)
This gets fixed with the attached. I would personally keep the code
consistent for v12 and HEAD for this code path, but I am fine to let
you decide the way you prefer.
--
Michael
Attachments:
buildfarm-fix-11.patchtext/x-diff; charset=us-asciiDownload+2-1
On 2019-Jul-10, Michael Paquier wrote:
Hello
This commit has broken the buildfarm on REL_11_STABLE for a couple of
animals:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prion&dt=2019-07-10%2006%3A27%3A02
Argh. You say "a couple", you mean "half the buildfarm for that branch"
:-(
error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < trigForm->tgnargs; i++)This gets fixed with the attached. I would personally keep the code
consistent for v12 and HEAD for this code path, but I am fine to let
you decide the way you prefer.
I kinda like block-scoped variables, braindead though they are in
C, so I'll just patch pg11. It's not like this code changes too much
anyway (famous last words).
Thanks for pinging
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On Wed, Jul 10, 2019 at 08:53:36AM -0400, Alvaro Herrera wrote:
I kinda like block-scoped variables, braindead though they are in
C, so I'll just patch pg11. It's not like this code changes too much
anyway (famous last words).
Thanks! That's fine by me.
--
Michael