Обсуждение: pgsql: Fix assertions with RI triggers in heap_update and heap_delete.

Поиск
Список
Период
Сортировка

pgsql: Fix assertions with RI triggers in heap_update and heap_delete.

От
Heikki Linnakangas
Дата:
Fix assertions with RI triggers in heap_update and heap_delete.

If the tuple being updated is not visible to the crosscheck snapshot,
we return TM_Updated but the assertions would not hold in that case.
Move them to before the cross-check.

Fixes bug #17893. Backpatch to all supported versions.

Author: Alexander Lakhin
Backpatch-through: 12
Discussion: https://www.postgresql.org/message-id/17893-35847009eec517b5%40postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/60f227316c0ebf5f4f8296f11cedc9360e9cb8ae

Modified Files
--------------
src/backend/access/heap/heapam.c            | 41 +++++++++++++++++------------
src/include/access/tableam.h                |  4 +--
src/test/isolation/expected/fk-snapshot.out | 22 ++++++++++++++++
src/test/isolation/specs/fk-snapshot.spec   | 17 +++++++++++-
4 files changed, 64 insertions(+), 20 deletions(-)