fix replay of nextMulti and nextMultiOffset fields

This commit is contained in:
anastasia
2021-05-24 12:14:09 +03:00
committed by lubennikovaav
parent fb230dcf32
commit 84508d4f68

View File

@@ -1068,10 +1068,12 @@ pub fn decode_wal_record(checkpoint: &mut CheckPoint, record: Bytes) -> DecodedW
blocks.push(blk);
}
if xlrec.mid > checkpoint.nextMulti {
checkpoint.nextMulti = xlrec.mid;
// See MultiXactAdvanceNextMXact in postgres code
checkpoint.nextMulti = xlrec.mid + 1;
}
if xlrec.moff > checkpoint.nextMultiOffset {
checkpoint.nextMultiOffset = xlrec.moff;
// See MultiXactAdvanceNextMXact in postgres code
checkpoint.nextMultiOffset = xlrec.moff + xlrec.nmembers;
}
let max_xid = xlrec
.members