mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
Revert "Avoid creation of the free space map for small heap relations."
This reverts commit ac88d2962a.
This commit is contained in:
@@ -153,7 +153,7 @@ static BufferAccessStrategy vac_strategy;
|
||||
static void lazy_scan_heap(Relation onerel, int options,
|
||||
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
|
||||
bool aggressive);
|
||||
static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
|
||||
static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
|
||||
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
|
||||
static void lazy_vacuum_index(Relation indrel,
|
||||
IndexBulkDeleteResult **stats,
|
||||
@@ -758,7 +758,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
|
||||
|
||||
/* Remove tuples from heap */
|
||||
lazy_vacuum_heap(onerel, vacrelstats, nblocks);
|
||||
lazy_vacuum_heap(onerel, vacrelstats);
|
||||
|
||||
/*
|
||||
* Forget the now-vacuumed tuples, and press on, but be careful
|
||||
@@ -896,7 +896,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
MarkBufferDirty(buf);
|
||||
UnlockReleaseBuffer(buf);
|
||||
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -935,7 +935,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
}
|
||||
|
||||
UnlockReleaseBuffer(buf);
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1332,7 +1332,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
* taken if there are no indexes.)
|
||||
*/
|
||||
if (vacrelstats->num_dead_tuples == prev_dead_count)
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
|
||||
RecordPageWithFreeSpace(onerel, blkno, freespace);
|
||||
}
|
||||
|
||||
/* report that everything is scanned and vacuumed */
|
||||
@@ -1394,7 +1394,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
/* Remove tuples from heap */
|
||||
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
|
||||
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
|
||||
lazy_vacuum_heap(onerel, vacrelstats, nblocks);
|
||||
lazy_vacuum_heap(onerel, vacrelstats);
|
||||
vacrelstats->num_index_scans++;
|
||||
}
|
||||
|
||||
@@ -1465,10 +1465,9 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
|
||||
* Note: the reason for doing this as a second pass is we cannot remove
|
||||
* the tuples until we've removed their index entries, and we want to
|
||||
* process index entry removal in batches as large as possible.
|
||||
* Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
|
||||
*/
|
||||
static void
|
||||
lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
|
||||
lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
|
||||
{
|
||||
int tupindex;
|
||||
int npages;
|
||||
@@ -1505,7 +1504,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
|
||||
freespace = PageGetHeapFreeSpace(page);
|
||||
|
||||
UnlockReleaseBuffer(buf);
|
||||
RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
|
||||
RecordPageWithFreeSpace(onerel, tblk, freespace);
|
||||
npages++;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user