vacuumlazy.c: Remove obsolete num_tuples field.
authorPeter Geoghegan <pg@bowt.ie>
Fri, 25 Feb 2022 03:01:54 +0000 (19:01 -0800)
committerPeter Geoghegan <pg@bowt.ie>
Fri, 25 Feb 2022 03:01:54 +0000 (19:01 -0800)
Commit 49c9d9fc unified VACUUM VERBOSE and autovacuum logging.  It
neglected to remove an old vacrel field that was only used by the old
VACUUM VERBOSE, so remove it now.

The previous num_tuples approach doesn't seem to have any real advantage
over the approach VACUUM VERBOSE takes now (also the approach used by
the autovacuum logging code), which is to show new_rel_tuples.
new_rel_tuples is the possibly-estimated total number of tuples left in
the table, whereas num_tuples meant the number of tuples encountered
during the VACUUM operation, after pruning, without regard for tuples
from pages skipped via the visibility map.

In passing, reorder a related vacrel field for consistency.

src/backend/access/heap/vacuumlazy.c

index f48e699b91ac379f98c21b217ba6e05e5225626c..40101e0cb82a6bde47e77affbbbeedaf3ecc2519 100644 (file)
@@ -213,10 +213,9 @@ typedef struct LVRelState
    /* Counters that follow are only for scanned_pages */
    int64       tuples_deleted; /* # deleted from table */
    int64       lpdead_items;   /* # deleted from indexes */
+   int64       live_tuples;    /* # live tuples remaining */
    int64       recently_dead_tuples;   /* # dead, but not yet removable */
    int64       missed_dead_tuples; /* # removable, but not removed */
-   int64       num_tuples;     /* total number of nonremovable tuples */
-   int64       live_tuples;    /* live tuples (reltuples estimate) */
 } LVRelState;
 
 /*
@@ -816,10 +815,9 @@ lazy_scan_heap(LVRelState *vacrel, int nworkers)
    vacrel->num_index_scans = 0;
    vacrel->tuples_deleted = 0;
    vacrel->lpdead_items = 0;
+   vacrel->live_tuples = 0;
    vacrel->recently_dead_tuples = 0;
    vacrel->missed_dead_tuples = 0;
-   vacrel->num_tuples = 0;
-   vacrel->live_tuples = 0;
 
    vistest = GlobalVisTestFor(vacrel->rel);
 
@@ -1572,9 +1570,8 @@ lazy_scan_prune(LVRelState *vacrel,
    HTSV_Result res;
    int         tuples_deleted,
                lpdead_items,
-               recently_dead_tuples,
-               num_tuples,
-               live_tuples;
+               live_tuples,
+               recently_dead_tuples;
    int         nnewlpdead;
    int         nfrozen;
    OffsetNumber deadoffsets[MaxHeapTuplesPerPage];
@@ -1589,9 +1586,8 @@ retry:
    /* Initialize (or reset) page-level counters */
    tuples_deleted = 0;
    lpdead_items = 0;
-   recently_dead_tuples = 0;
-   num_tuples = 0;
    live_tuples = 0;
+   recently_dead_tuples = 0;
 
    /*
     * Prune all HOT-update chains in this page.
@@ -1788,8 +1784,7 @@ retry:
         * Check tuple left behind after pruning to see if needs to be frozen
         * now.
         */
-       num_tuples++;
-       prunestate->hastup = true;
+       prunestate->hastup = true;  /* page won't be truncatable */
        if (heap_prepare_freeze_tuple(tuple.t_data,
                                      vacrel->relfrozenxid,
                                      vacrel->relminmxid,
@@ -1928,9 +1923,8 @@ retry:
    /* Finally, add page-local counts to whole-VACUUM counts */
    vacrel->tuples_deleted += tuples_deleted;
    vacrel->lpdead_items += lpdead_items;
-   vacrel->recently_dead_tuples += recently_dead_tuples;
-   vacrel->num_tuples += num_tuples;
    vacrel->live_tuples += live_tuples;
+   vacrel->recently_dead_tuples += recently_dead_tuples;
 }
 
 /*
@@ -1963,7 +1957,6 @@ lazy_scan_noprune(LVRelState *vacrel,
    OffsetNumber offnum,
                maxoff;
    int         lpdead_items,
-               num_tuples,
                live_tuples,
                recently_dead_tuples,
                missed_dead_tuples;
@@ -1976,7 +1969,6 @@ lazy_scan_noprune(LVRelState *vacrel,
    *recordfreespace = false;   /* for now */
 
    lpdead_items = 0;
-   num_tuples = 0;
    live_tuples = 0;
    recently_dead_tuples = 0;
    missed_dead_tuples = 0;
@@ -2031,7 +2023,6 @@ lazy_scan_noprune(LVRelState *vacrel,
            vacrel->freeze_cutoffs_valid = false;
        }
 
-       num_tuples++;
        ItemPointerSet(&(tuple.t_self), blkno, offnum);
        tuple.t_data = (HeapTupleHeader) PageGetItem(page, itemid);
        tuple.t_len = ItemIdGetLength(itemid);
@@ -2096,7 +2087,6 @@ lazy_scan_noprune(LVRelState *vacrel,
             * forever, for vanishingly little benefit.)
             */
            *hastup = true;
-           num_tuples += lpdead_items;
            missed_dead_tuples += lpdead_items;
        }
 
@@ -2146,10 +2136,9 @@ lazy_scan_noprune(LVRelState *vacrel,
    /*
     * Finally, add relevant page-local counts to whole-VACUUM counts
     */
+   vacrel->live_tuples += live_tuples;
    vacrel->recently_dead_tuples += recently_dead_tuples;
    vacrel->missed_dead_tuples += missed_dead_tuples;
-   vacrel->num_tuples += num_tuples;
-   vacrel->live_tuples += live_tuples;
    if (missed_dead_tuples > 0)
        vacrel->missed_dead_pages++;