Re: BUG #16794: BEFORE UPDATE FOR EACH ROW triggers on partitioned tables can break tuple moving UPDATEs
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: pg@pmenke.de, pgsql-bugs@lists.postgresql.org
Date: 2021-01-27T00:35:04Z
Lists: pgsql-bugs
On 2021-Jan-23, Alvaro Herrera wrote: > On 2020-Dec-28, PG Bug reporting form wrote: > > > i was testing the PG13 enhancement that should allow BEFORE ROW triggers on > > partitioned tables, as long as they don't move the tuple to a different > > partition (original thread: > > https://postgr.es/m/20200227165158.GA2071@alvherre.pgsql). The actual > > restriction on "not to move the tuple to a different partition" seems to be > > a bit stronger though, as the trigger fails, even though not itself, but the > > overarching UPDATE command, did move the tuple. > > Hi Philipp, thanks for reporting this issue. Yeah, that should > definitely work. I'll have a look at this in a couple of days and try > my best to have a fix for the February minors. Looked at this today, and it's not nearly as easy to fix as I hoped. The misbehavior in corner cases seems weird enough that we should keep the restriction ... but the way the restriction is implemented currently is completely broken. -- Álvaro Herrera 39°49'30"S 73°17'W Si no sabes adonde vas, es muy probable que acabes en otra parte.
Commits
-
Remove bogus restriction from BEFORE UPDATE triggers
- 6f5c8a8ec23f 14.0 landed
- 16f69062e599 13.2 landed