summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-02-20 12:31:27 +0900
committerMichael Paquier <michael@paquier.xyz>2019-02-20 12:31:27 +0900
commit7ed9285c6950d6b006ce745e9fd5e950425e815c (patch)
tree204ad682ac799cacbd78bde634a7155024f00bbe
parent7eedd66edcd9bf211f88e071e2a1a96a3d86e689 (diff)
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 SnapBuildInitialSnapshot(). 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
-rw-r--r--src/backend/replication/logical/snapbuild.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index f17cbda8a0c..9b81874ce19 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -617,6 +617,8 @@ SnapBuildInitialSnapshot(SnapBuild *builder)
TransactionIdAdvance(xid);
}
+ /* adjust remaining snapshot fields as needed */
+ snap->satisfies = HeapTupleSatisfiesMVCC;
snap->xcnt = newxcnt;
snap->xip = newxip;