Fix handling of updated tuples in the MERGE statement

This branch missed the IsolationUsesXactSnapshot() check.  That led to EPQ on
repeatable read and serializable isolation levels.  This commit fixes the
issue and provides a simple isolation check for that.  Backpatch through v15
where MERGE statement was introduced.

Reported-by: Tender Wang <[email protected]>
Discussion: 
https://postgr.es/m/CAPpHfdvzZSaNYdj5ac-tYRi6MuuZnYHiUkZ3D-AoY-ny8v%2BS%2Bw%40mail.gmail.com
Author: Tender Wang <[email protected]>
Reviewed-by: Dean Rasheed <[email protected]>
Backpatch-through: 15

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8bfaae6fb20cf3029f42f2760f9d90a84e4448d7

Modified Files
--------------
src/backend/executor/nodeModifyTable.c       |  5 +++++
src/test/isolation/expected/merge-update.out | 25 +++++++++++++++++++++++++
src/test/isolation/specs/merge-update.spec   |  2 ++
3 files changed, 32 insertions(+)

Reply via email to