From 03cd99a8e802e054aac53e4544613b207803f4a0 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 20 Feb 2019 12:32:15 +0900 Subject: [PATCH] Mark correctly initial slot snapshots with MVCC type when built MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When building an initial slot snapshot, snapshots are marked with historic MVCC snapshots as type with the marker field being set in SnapBuildBuildSnapshot() but not overriden in SnapBuildExportSnapshot(). Existing callers of SnapBuildBuildSnapshot() do not care about the type of snapshot used, but extensions calling it actually may, as reported. Author: Antonin Houska Reviewed-by: Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/23215.1527665193@localhost Backpatch-through: 9.4 --- src/backend/replication/logical/snapbuild.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index f66394e421..7bd4a74225 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -635,6 +635,8 @@ SnapBuildExportSnapshot(SnapBuild *builder) TransactionIdAdvance(xid); } + /* adjust remaining snapshot fields as needed */ + snap->satisfies = HeapTupleSatisfiesMVCC; snap->xcnt = newxcnt; snap->xip = newxip; -- 2.50.0