Re: [PATCH] XLogReadRecord returns pointer to currently read page

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: a(dot)lepikhov(at)postgrespro(dot)ru
Cc: hlinnaka(at)iki(dot)fi, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] XLogReadRecord returns pointer to currently read page
Date: 2018-10-26 05:33:00
Message-ID: 20181026.143300.212568635.horiguchi.kyotaro@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello.

At Tue, 23 Oct 2018 10:25:27 +0500, Andrey Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> wrote in <2553f2b0-0e39-eb0e-d382-6c0ed08ca8ae(at)postgrespro(dot)ru>
>
> On 23.10.2018 0:53, Heikki Linnakangas wrote:
> > I'd expect the decompression to read from the on-disk buffer, and
> > unpack to readRecordBuf, I still don't see a need to copy the packed
> > record to readRecordBuf. If there is a need for that, though, the
> > patch that implements the packing or compression can add the memcpy()
> > where it needs it.
>
> I agree with it. Eventually, placement of the WAL-record can be
> defined by comparison the record, readBuf and readRecordBuf pointers.
> In attachment new version of the patch.

This looks quite clear and what it does is reasonable to me.
Applies cleanly on top of current master and no regression seen.

Just one comment. This patch leaves the following code.

> /* Record does not cross a page boundary */
> if (!ValidXLogRecord(state, record, RecPtr))
> goto err;
>
> state->EndRecPtr = RecPtr + MAXALIGN(total_len);
!>
> state->ReadRecPtr = RecPtr;
> }

The empty line (marked by '!') looks a bit too much standing out
after this patch. Could you remove the line? Then could you
transpose the two assignments if you don't mind?

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message 임명규 2018-10-26 06:09:56 RE: COPY FROM WHEN condition
Previous Message Kyotaro HORIGUCHI 2018-10-26 05:13:51 Re: [HACKERS] PATCH: Keep one postmaster monitoring pipe per process