/*
* lazy_scan_heap() -- scan an open heap relation
*
- * This routine sets commit status bits, builds lists of dead tuples
- * and pages with free space, and calculates statistics on the number
- * of live tuples in the heap. When done, or when we run low on space
- * for dead-tuple TIDs, invoke vacuuming of indexes and heap.
+ * This routine prunes each page in the heap, which will among other
+ * things truncate dead tuples to dead line pointers, defragment the
+ * page, and set commit status bits (see heap_page_prune). It also builds
+ * lists of dead tuples and pages with free space, calculates statistics
+ * on the number of live tuples in the heap, and marks pages as
+ * all-visible if appropriate. When done, or when we run low on space for
+ * dead-tuple TIDs, invoke vacuuming of indexes and call lazy_vacuum_heap
+ * to reclaim dead line pointers.
*
- * If there are no indexes then we just vacuum each dirty page as we
- * process it, since there's no point in gathering many tuples.
+ * If there are no indexes then we can reclaim line pointers on the fly;
+ * dead line pointers need only be retained until all index pointers that
+ * reference them have been killed.
*/
static void
lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,