mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
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. While on it, mark correctly the snapshot type when importing one. This is cosmetic as the field is enforced to 0. Author: Antonin Houska Reviewed-by: Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/23215.1527665193@localhost Backpatch-through: 9.4
This commit is contained in:
parent
90cfa49003
commit
56fadbedbd
@ -616,6 +616,8 @@ SnapBuildInitialSnapshot(SnapBuild *builder)
|
||||
TransactionIdAdvance(xid);
|
||||
}
|
||||
|
||||
/* adjust remaining snapshot fields as needed */
|
||||
snap->snapshot_type = SNAPSHOT_MVCC;
|
||||
snap->xcnt = newxcnt;
|
||||
snap->xip = newxip;
|
||||
|
||||
|
@ -1509,6 +1509,8 @@ ImportSnapshot(const char *idstr)
|
||||
src_isolevel = parseIntFromText("iso:", &filebuf, path);
|
||||
src_readonly = parseIntFromText("ro:", &filebuf, path);
|
||||
|
||||
snapshot.snapshot_type = SNAPSHOT_MVCC;
|
||||
|
||||
snapshot.xmin = parseXidFromText("xmin:", &filebuf, path);
|
||||
snapshot.xmax = parseXidFromText("xmax:", &filebuf, path);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user