Re: pg_xlogdump fails to handle WAL file with multi-page XLP_FIRST_IS_CONTRECORD data

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_xlogdump fails to handle WAL file with multi-page XLP_FIRST_IS_CONTRECORD data
Date: 2016-08-29 06:52:24
Message-ID: CAHGQGwHtu7+k_WwsJHwqybSXsSm-2nQj9q4gr6WhZh=tOjWmjw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Aug 26, 2016 at 10:03 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> On Wed, Mar 23, 2016 at 7:04 PM, Pavan Deolasee
> <pavan(dot)deolasee(at)gmail(dot)com> wrote:
>>
>>
>> On Wed, Mar 23, 2016 at 1:13 PM, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
>> wrote:
>>>
>>>
>>> + /*
>>> + * Compute targetRecOff. It should typically be greater than short
>>> + * page-header since a valid record can't , but can also be zero
>>> when
>>> + * caller has supplied a page-aligned address or when we are
>>> skipping
>>> + * multi-page continuation record. It doesn't matter though
>>> because
>>> + * ReadPageInternal() will read at least short page-header worth
>>> of
>>> + * data
>>> + */
>>> This needs some polishing, there is an unfinished sentence here.
>>>
>>> + targetRecOff = tmpRecPtr % XLOG_BLCKSZ;
>>> targetRecOff, pageHeaderSize and targetPagePtr could be declared
>>> inside directly the new while loop.
>>
>>
>> Thanks Michael for reviewing the patch. I've fixed these issues and new
>> version is attached.
>
> The patch looks good to me. Barring any objections,
> I'll push this and back-patch to 9.3 where pg_xlogdump was added.

Pushed. Thanks!

Regards,

--
Fujii Masao

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2016-08-29 07:04:39 Re: Renaming of pg_xlog and pg_clog
Previous Message Michael Paquier 2016-08-29 06:30:17 Re: Renaming of pg_xlog and pg_clog