pgsql: Remove some unnecessary code from multixact truncation

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove some unnecessary code from multixact truncation
Date: 2026-01-15 11:35:09
Message-ID: E1vgLd6-000axO-1U@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove some unnecessary code from multixact truncation

With 64-bit multixact offsets, PerformMembersTruncation() doesn't need
the starting offset anymore. The 'oldestOffset' value that
TruncateMultiXact() calculates is no longer used for anything. Remove
it, and the code to calculate it.

'oldestOffset' was included in the WAL record as 'startTruncMemb',
which sounds nice if you e.g. look at the WAL with pg_waldump, but it
was also confusing because we didn't actually use the value for
determining what to truncate. Replaying the WAL would remove all
segments older than 'endTruncMemb', regardless of
'startTruncMemb'. The 'startTruncOff' stored in the WAL record was
similarly unnecessary even before 64-bit multixid offsets, it was
stored just for the sake of symmetry with 'startTruncMemb'. Remove
both from the WAL record, and rename the remaining 'endTruncOff' to
'oldestMulti' and 'endTruncMemb' to 'oldestOffset', for consistency
with the variable names used for them in other places.

Reviewed-by: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Discussion: https://www.postgresql.org/message-id/000301b2-5b81-4938-bdac-90f6eb660843@iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c4b71e6f60c005b54bd025ee30aaee3f22496622

Modified Files
--------------
src/backend/access/rmgrdesc/mxactdesc.c | 5 +-
src/backend/access/transam/multixact.c | 145 ++++++--------------------------
src/include/access/multixact.h | 10 +--
src/include/access/xlog_internal.h | 2 +-
4 files changed, 34 insertions(+), 128 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2026-01-15 15:03:28 pgsql: Add check for invalid offset at multixid truncation
Previous Message Peter Eisentraut 2026-01-15 11:16:46 pgsql: plpython: Streamline initialization