mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Avoid special XID snapshotConflictHorizon values.
Don't allow VACUUM to WAL-log the value FrozenTransactionId as the snapshotConflictHorizon of freezing or visibility map related WAL records. The only special XID value that's an allowable snapshotConflictHorizon is InvalidTransactionId, which is interpreted as "record definitely doesn't require a recovery conflict". Author: Peter Geoghegan <pg@bowt.ie> Discussion: https://postgr.es/m/CAH2-WznuNGSzF8v6OsgjaC5aYsb3cZ6HW6MLm30X0d65cmSH6A@mail.gmail.com
This commit is contained in:
@@ -493,6 +493,7 @@ ResolveRecoveryConflictWithSnapshot(TransactionId snapshotConflictHorizon,
|
||||
if (!TransactionIdIsValid(snapshotConflictHorizon))
|
||||
return;
|
||||
|
||||
Assert(TransactionIdIsNormal(snapshotConflictHorizon));
|
||||
backends = GetConflictingVirtualXIDs(snapshotConflictHorizon,
|
||||
locator.dbOid);
|
||||
ResolveRecoveryConflictWithVirtualXIDs(backends,
|
||||
|
Reference in New Issue
Block a user