On Thu, Aug 20, 2020 at 5:22 PM movead...@highgo.ca <movead...@highgo.ca> wrote: > > Hello, > > I am trying to handle the limit that we can't do a tuple move caused by > BEFORE TRIGGER, > during which I get two doubt points: > > The first issue: > In ExecBRUpdateTriggers() or ExecBRInsertTriggers() function why we need to > check the > result slot after every trigger call. If we should check the result slot > after all triggers are > called. > > For example, we have a table t1(i int, j int), and a BEFORE INSERT TRIGGER on > t1 make i - 1, > and another BEFORE INSERT TRIGGER on t1 make i + 1. If the first trigger > causes a partition > move, then the insert query will be interrupted. However, it will not change > partition after > all triggers are called.
This was discussed at https://www.postgresql.org/message-id/20200318210213.GA9781@alvherre.pgsql. -- Best Wishes, Ashutosh Bapat