pgsql: Refactor how heap_prune_chain() updates prunable_xid

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Refactor how heap_prune_chain() updates prunable_xid
Date: 2024-04-03 16:34:32
Message-ID: E1rs3ZH-000KAx-R8@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(at)gmail(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nathan Bossart 2024-04-03 17:24:20 pgsql: Inline pg_popcount() for small buffers.
Previous Message Alvaro Herrera 2024-04-03 15:53:28 pgsql: Fix zeroing of pg_serial page without SLRU bank lock