mirror of
https://github.com/postgres/postgres.git
synced 2025-05-11 05:41:32 +03:00
vacuumlazy.c: MultiXactIds are MXIDs, not XMIDs.
Oversights in commits 0b018fab and f3c15cbe.
This commit is contained in:
parent
8ab0ebb9a8
commit
ba6af6aa0b
@ -512,7 +512,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
|
|||||||
vacrel->FreezeLimit = FreezeLimit;
|
vacrel->FreezeLimit = FreezeLimit;
|
||||||
/* MultiXactCutoff controls MXID freezing (always <= OldestMxact) */
|
/* MultiXactCutoff controls MXID freezing (always <= OldestMxact) */
|
||||||
vacrel->MultiXactCutoff = MultiXactCutoff;
|
vacrel->MultiXactCutoff = MultiXactCutoff;
|
||||||
/* Initialize state used to track oldest extant XID/XMID */
|
/* Initialize state used to track oldest extant XID/MXID */
|
||||||
vacrel->NewRelfrozenXid = OldestXmin;
|
vacrel->NewRelfrozenXid = OldestXmin;
|
||||||
vacrel->NewRelminMxid = OldestMxact;
|
vacrel->NewRelminMxid = OldestMxact;
|
||||||
vacrel->skippedallvis = false;
|
vacrel->skippedallvis = false;
|
||||||
@ -1295,7 +1295,7 @@ lazy_scan_heap(LVRelState *vacrel)
|
|||||||
* Note: our opinion of which blocks can be skipped can go stale immediately.
|
* Note: our opinion of which blocks can be skipped can go stale immediately.
|
||||||
* It's okay if caller "misses" a page whose all-visible or all-frozen marking
|
* It's okay if caller "misses" a page whose all-visible or all-frozen marking
|
||||||
* was concurrently cleared, though. All that matters is that caller scan all
|
* was concurrently cleared, though. All that matters is that caller scan all
|
||||||
* pages whose tuples might contain XIDs < OldestXmin, or XMIDs < OldestMxact.
|
* pages whose tuples might contain XIDs < OldestXmin, or MXIDs < OldestMxact.
|
||||||
* (Actually, non-aggressive VACUUMs can choose to skip all-visible pages with
|
* (Actually, non-aggressive VACUUMs can choose to skip all-visible pages with
|
||||||
* older XIDs/MXIDs. The vacrel->skippedallvis flag will be set here when the
|
* older XIDs/MXIDs. The vacrel->skippedallvis flag will be set here when the
|
||||||
* choice to skip such a range is actually made, making everything safe.)
|
* choice to skip such a range is actually made, making everything safe.)
|
||||||
@ -2012,7 +2012,7 @@ lazy_scan_noprune(LVRelState *vacrel,
|
|||||||
* relfrozenxid to a value >= FreezeLimit (and be able to
|
* relfrozenxid to a value >= FreezeLimit (and be able to
|
||||||
* advance rel's relminmxid to a value >= MultiXactCutoff).
|
* advance rel's relminmxid to a value >= MultiXactCutoff).
|
||||||
* The ongoing aggressive VACUUM won't be able to do that
|
* The ongoing aggressive VACUUM won't be able to do that
|
||||||
* unless it can freeze an XID (or XMID) from this tuple now.
|
* unless it can freeze an XID (or MXID) from this tuple now.
|
||||||
*
|
*
|
||||||
* The only safe option is to have caller perform processing
|
* The only safe option is to have caller perform processing
|
||||||
* of this page using lazy_scan_prune. Caller might have to
|
* of this page using lazy_scan_prune. Caller might have to
|
||||||
|
Loading…
x
Reference in New Issue
Block a user