Re: pg_walinspect: ReadNextXLogRecord's first_record argument

Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>

From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-08-17T16:28:56Z
Lists: pgsql-hackers

Attachments

On Wed, Aug 17, 2022 at 8:52 PM Robert Haas <robertmhaas@gmail.com> wrote:
>
> On Wed, Aug 17, 2022 at 12:41 AM Bharath Rupireddy
> <bharath.rupireddyforpostgres@gmail.com> wrote:
> > Agreed.
> >
> > Here's a patch (for V15 as well) fixing this bug, please review.
>
> Couldn't you simplify this further by removing the lsn argument from
> GetWALRecordInfo and using record->ReadRecPtr instead? Then
> InitXLogReaderState's second argument could be XLogRecPtr instead of
> XLogRecPtr *.

Done. XLogFindNextRecord() stores the first valid record in EndRecPtr
and the ReadRecPtr is set to InvalidXLogRecPtr by calling
XLogBeginRead(). And XLogNextRecord() sets ReadRecPtr which we can
use.

PSA v2 patches.

-- 
Bharath Rupireddy
RDS Open Source Databases: https://aws.amazon.com/rds/postgresql/

Commits

  1. Use correct LSN for error reporting in pg_walinspect