postgres.git / summary / log / commit / refs
commit 2ad57e9e9faf5e8a6fdec048636581df7210478f
Author: Michael Paquier <michael@paquier.xyz>
Date: Wed Feb 20 03:32:23 2019 +0000
First released in: 12.0, 9.4.22, 9.5.17, 9.6.13, 10.8, 11.3
Mark correctly initial slot snapshots with MVCC type when built
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 7fb7057fa32..98bdecfcfaf 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -636,6 +636,8 @@ SnapBuildExportSnapshot(SnapBuild *builder)
TransactionIdAdvance(xid);
}
+ /* adjust remaining snapshot fields as needed */
+ snap->satisfies = HeapTupleSatisfiesMVCC;
snap->xcnt = newxcnt;
snap->xip = newxip;
[parent: 64f6a65a00b0]