Обсуждение: 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: https://postgr.es/m/20190709130027.amr2cavjvo7rdvac@access1.trash.net Discussion: https://postgr.es/m/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
Вложения
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