pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Fujii Masao <fujii@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix incorrect WAL description for PREPARE TRANSACTION record.
Date: Wed, 21 May 2025 02:57:30 +0000
Message-ID: <E1uHZe5-0003Om-2C@gemulon.postgresql.org> (raw)

Fix incorrect WAL description for PREPARE TRANSACTION record.

Since commit 8b1dccd37c7, the PREPARE TRANSACTION WAL record includes
information about dropped statistics entries. However, the WAL resource
manager description function for PREPARE TRANSACTION record failed to
parse this information correctly and always assumed there were
no such entries.

As a result, for example, pg_waldump could not display the dropped
statistics entries stored in PREPARE TRANSACTION records.

The root cause was that ParsePrepareRecord() did not set the number of
statistics entries to drop on commit or abort. These values remained
zero-initialized and were never updated from the parsed record.

This commit fixes the issue by properly setting those values during parsing.
With this fix, pg_waldump can now correctly report dropped statistics
entries in PREPARE TRANSACTION records.

Back-patch to v15, where commit 8b1dccd37c7 was introduced.

Author: Daniil Davydov <3danissimo@gmail.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/CAJDiXgh-6Epb2XiJe4uL0zF-cf0_s_7Lw1TfEHDMLzYjEmfGOw@mail.gmail.com
Backpatch-through: 15

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0bd762e81f6c73679b4f3072d9d9f359d47e43ab

Modified Files
--------------
src/backend/access/rmgrdesc/xactdesc.c | 2 ++
1 file changed, 2 insertions(+)



view thread (4+ messages)  latest in thread

Message-ID: <E1uHZe5-0003Om-2C@gemulon.postgresql.org>
Permalink:  ../E1uHZe5-0003Om-2C@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1uHZe5-0003Om-2C@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: fujii@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix incorrect WAL description for PREPARE TRANSACTION record.
  In-Reply-To: <E1uHZe5-0003Om-2C@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox