Avoid ERROR at ON COMMIT DELETE ROWS after relhassubclass=f.
Noah Misch <noah@leadboat.com>
Avoid ERROR at ON COMMIT DELETE ROWS after relhassubclass=f.
Commit 7102070329d8147246d2791321f9915c3b5abf31 fixed a similar bug, but
it missed the case of database-wide ANALYZE ("use_own_xacts" mode).
Commit a07e03fd8fa7daf4d1356f7cb501ffe784ea6257 changed consequences
from silent discard of a pg_class stats (relpages et al.) update to
ERROR "tuple to be updated was already modified". Losing a relpages
update of an ON COMMIT DELETE ROWS table was negligible, but a
COMMIT-time error isn't negligible. Back-patch to v13 (all supported
versions).
Reported-by: Richard Guo <guofenglinux@gmail.com
Reported-by: Robins Tharakan <tharakan@gmail.com>
Discussion: https://postgr.es/m/CAMbWs4-XwMKMKJ_GT=p3_-_=j9rQSEs1FbDFUnW9zHuKPsPNEQ@mail.gmail.com
Backpatch-through: 13
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/vacuum.c | modified | +2 −0 |
| src/test/regress/expected/maintain_every.out | added | +33 −0 |
| src/test/regress/parallel_schedule | modified | +4 −0 |
| src/test/regress/sql/maintain_every.sql | added | +26 −0 |
Discussion
- ERROR: tuple to be updated was already modified by an operation triggered by the current command 4 messages · 2025-01-23 → 2025-04-21