postgres.git / summary / log / commit / refs

commit    a80f5c279bd5625f349afbfb1572cfad0b429b8d
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Wed Feb 20 03:31:32 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 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


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 df820057802..9a817df11d6 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; [parent: 3b940cd9dc7b]