Make lazy_vacuum_heap_rel match lazy_scan_heap.
authorPeter Geoghegan <[email protected]>
Thu, 12 Jan 2023 02:45:32 +0000 (18:45 -0800)
committerPeter Geoghegan <[email protected]>
Thu, 12 Jan 2023 02:45:32 +0000 (18:45 -0800)
Make lazy_vacuum_heap_rel variable names match those from lazy_scan_heap
where that makes sense.

Extracted from a larger patch to deal with issues with how vacuumlazy.c
sets pages all-frozen.

Author: Peter Geoghegan <[email protected]>
Discussion: https://postgr.es/m/CAH2-WznuNGSzF8v6OsgjaC5aYsb3cZ6HW6MLm30X0d65cmSH6A@mail.gmail.com

src/backend/access/heap/vacuumlazy.c

index 731e77676c0cdafcc2307de2b6f6e61a7c36327e..3694515167cda446c6fdcfd579ddbaa8502b4fb7 100644 (file)
@@ -2388,8 +2388,8 @@ lazy_vacuum_all_indexes(LVRelState *vacrel)
 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;
 
@@ -2406,42 +2406,34 @@ lazy_vacuum_heap_rel(LVRelState *vacrel)
                             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