Refactor how heap_prune_chain() updates prunable_xid
In preparation of freezing and counting tuples which are not
candidates for pruning, split heap_prune_record_unchanged() into
multiple functions, depending the kind of line pointer. That's not too
interesting right now, but makes the next commit smaller.
Recording the lowest soon-to-be prunable xid is one of the actions we
take for unchanged LP_NORMAL item pointers but not for others, so move
that to the new heap_prune_record_unchanged_lp_normal() function. The
next commit will add more actions to these functions.
Author: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://www.postgresql.org/message-id/20240330055710.kqg6ii2cdojsxgje@liskov
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/26d138f64474394cf1e573384e8f38efa637b674
Modified Files
--------------
src/backend/access/heap/pruneheap.c | 125 ++++++++++++++++++++++++++----------
1 file changed, 92 insertions(+), 33 deletions(-)