summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-02-20 12:32:15 +0900
committerMichael Paquier <michael@paquier.xyz>2019-02-20 12:32:15 +0900
commit03cd99a8e802e054aac53e4544613b207803f4a0 (patch)
tree97be32aaf4829885b44a4cf8c6ba9ffccbcb6008 /src
parente5e4ad114b7dfebbe9959a1b2fc0035458a4a722 (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
Diffstat (limited to 'src')
-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 f66394e4211..7bd4a74225c 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;