summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier2019-02-20 03:31:45 +0000
committerMichael Paquier2019-02-20 03:31:45 +0000
commitf131889519ad3243739b430df70c379652a79156 (patch)
tree4eb823b7c2beab4048fd05f8c2d2b62de871a015
parentffc1d6476c9c87aa68fe439911e5448aa8acbd8a (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 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
-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 546e0e7b16f..cdc117763cb 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -633,6 +633,8 @@ SnapBuildExportSnapshot(SnapBuild *builder)
TransactionIdAdvance(xid);
}
+ /* adjust remaining snapshot fields as needed */
+ snap->satisfies = HeapTupleSatisfiesMVCC;
snap->xcnt = newxcnt;
snap->xip = newxip;