Refactor how heap_prune_chain() updates prunable_xid
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 3 Apr 2024 16:32:21 +0000 (19:32 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 3 Apr 2024 16:32:21 +0000 (19:32 +0300)
commit26d138f64474394cf1e573384e8f38efa637b674
treed00fc7b7f0e260765a6d61a4054a2a1d5d5532cc
parentbe2f0731006300876b008fd78a265471984cbcd9
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
src/backend/access/heap/pruneheap.c