diff options
| author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-11-28 11:59:09 +0200 |
|---|---|---|
| committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-11-28 11:59:50 +0200 |
| commit | 2873fbfe0d6500a45a316d2d42414a432a96e9f1 (patch) | |
| tree | a1af9db7655d103a0f8b189c4f999befd3a6dc45 /src/include | |
| parent | fef92f9ba10175bab6af4307c54ce450a592a2e7 (diff) | |
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
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/access/tableam.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/access/tableam.h b/src/include/access/tableam.h index fe869c6c184..5d0431a21b5 100644 --- a/src/include/access/tableam.h +++ b/src/include/access/tableam.h @@ -1455,8 +1455,8 @@ table_multi_insert(Relation rel, TupleTableSlot **slots, int nslots, * TM_BeingModified (the last only possible if wait == false). * * In the failure cases, the routine fills *tmfd with the tuple's t_ctid, - * t_xmax, and, if possible, and, if possible, t_cmax. See comments for - * struct TM_FailureData for additional info. + * t_xmax, and, if possible, t_cmax. See comments for struct + * TM_FailureData for additional info. */ static inline TM_Result table_tuple_delete(Relation rel, ItemPointer tid, CommandId cid, |
