| From: | Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Fix handling of updated tuples in the MERGE statement |
| Date: | 2026-03-05 18:08:13 |
| Message-ID: | E1vyD7N-002YAk-1t@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
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 <tndrwang(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAPpHfdvzZSaNYdj5ac-tYRi6MuuZnYHiUkZ3D-AoY-ny8v%2BS%2Bw%40mail.gmail.com
Author: Tender Wang <tndrwang(at)gmail(dot)com>
Reviewed-by: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
Backpatch-through: 15
Branch
------
REL_16_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/f6e63d4b8b2ec5ff011c87f79f3efc8abe921263
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(+)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jacob Champion | 2026-03-05 18:12:03 | pgsql: libpq: Add PQgetThreadLock() to mirror PQregisterThreadLock() |
| Previous Message | Alexander Korotkov | 2026-03-05 18:07:09 | pgsql: Fix handling of updated tuples in the MERGE statement |