From 913617ed98cfddd678a6f620db7dee68d1d61c89 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Wed, 20 Mar 2024 10:51:13 +0200 Subject: [PATCH v5 21/26] move whole_page_freezable to tighter scope --- src/backend/access/heap/pruneheap.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/access/heap/pruneheap.c b/src/backend/access/heap/pruneheap.c index 04e4a2fdeb4..3821f489aad 100644 --- a/src/backend/access/heap/pruneheap.c +++ b/src/backend/access/heap/pruneheap.c @@ -243,7 +243,6 @@ heap_page_prune_and_freeze(Relation relation, Buffer buffer, bool do_freeze; bool do_prune; bool do_hint; - bool whole_page_freezable; bool hint_bit_fpi; int64 fpi_before = pgWalUsage.wal_fpi; @@ -507,10 +506,6 @@ heap_page_prune_and_freeze(Relation relation, Buffer buffer, do_hint = ((PageHeader) page)->pd_prune_xid != prstate.new_prune_xid || PageIsFull(page); - /* Is the whole page freezable? And is there something to freeze? */ - whole_page_freezable = presult->all_visible_except_removable && - presult->all_frozen; - /* * Freeze the page when heap_prepare_freeze_tuple indicates that at least * one XID/MXID from before FreezeLimit/MultiXactCutoff is present. Also @@ -525,6 +520,12 @@ heap_page_prune_and_freeze(Relation relation, Buffer buffer, do_freeze = false; if (pagefrz) { + bool whole_page_freezable; + + /* Is the whole page freezable? And is there something to freeze? */ + whole_page_freezable = presult->all_visible_except_removable && + presult->all_frozen; + if (pagefrz->freeze_required) do_freeze = true; else if (whole_page_freezable && presult->nfrozen > 0) -- 2.39.2