static void
lazy_vacuum_heap_rel(LVRelState *vacrel)
{
- int index;
- BlockNumber vacuumed_pages;
+ int index = 0;
+ BlockNumber vacuumed_pages = 0;
Buffer vmbuffer = InvalidBuffer;
LVSavedErrInfo saved_err_info;
VACUUM_ERRCB_PHASE_VACUUM_HEAP,
InvalidBlockNumber, InvalidOffsetNumber);
- vacuumed_pages = 0;
-
- index = 0;
while (index < vacrel->dead_items->num_items)
{
- BlockNumber tblk;
+ BlockNumber blkno;
Buffer buf;
Page page;
Size freespace;
vacuum_delay_point();
- tblk = ItemPointerGetBlockNumber(&vacrel->dead_items->items[index]);
- vacrel->blkno = tblk;
- buf = ReadBufferExtended(vacrel->rel, MAIN_FORKNUM, tblk, RBM_NORMAL,
+ blkno = ItemPointerGetBlockNumber(&vacrel->dead_items->items[index]);
+ vacrel->blkno = blkno;
+ buf = ReadBufferExtended(vacrel->rel, MAIN_FORKNUM, blkno, RBM_NORMAL,
vacrel->bstrategy);
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
- index = lazy_vacuum_heap_page(vacrel, tblk, buf, index, &vmbuffer);
+ index = lazy_vacuum_heap_page(vacrel, blkno, buf, index, &vmbuffer);
/* Now that we've vacuumed the page, record its available space */
page = BufferGetPage(buf);
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(vacrel->rel, tblk, freespace);
+ RecordPageWithFreeSpace(vacrel->rel, blkno, freespace);
vacuumed_pages++;
}
- /* Clear the block number information */
vacrel->blkno = InvalidBlockNumber;
-
if (BufferIsValid(vmbuffer))
- {
ReleaseBuffer(vmbuffer);
- vmbuffer = InvalidBuffer;
- }
/*
* We set all LP_DEAD items from the first heap pass to LP_UNUSED during