Re: Avoiding superfluous buffer locking during nbtree backwards scans

From: Masahiro Ikeda <ikedamsh(at)oss(dot)nttdata(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>
Subject: Re: Avoiding superfluous buffer locking during nbtree backwards scans
Date: 2024-11-13 03:14:08
Message-ID: 9a86af751108111db4a354bc3c912575@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2024-11-13 00:55, Peter Geoghegan wrote:
> On Sun, Nov 10, 2024 at 11:36 PM Masahiro Ikeda
> <ikedamsh(at)oss(dot)nttdata(dot)com> wrote:
>> Thanks! The change made it easier for me to understand.
>
> As follow-up to all of the recent work in this area, I'd like to add
> this wrapper function to return the next item from so->currPos.
>
> The wrapper function has extra assertions, compared to what we do
> already. It's slightly more defensive, and IMV slightly clearer.

Thanks, I agree with adding the function for refactoring and including
assertions for moreLeft or moreRight.

One thing I was concerned about is that "if (scan->xs_want_itup)" was
changed to "if (so->currTuples)". However, this isn’t an issue because
so->currTuples is only initialized if scan->xs_want_itup is set to
true in btrescan(), and it improves consistency with other functions
for index-only scans.

I also confirmed that make check-world passes with the patch.

Regards,
--
Masahiro Ikeda
NTT DATA CORPORATION

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2024-11-13 03:28:55 Re: Skip collecting decoded changes of already-aborted transactions
Previous Message Hayato Kuroda (Fujitsu) 2024-11-13 03:00:03 RE: Commit Timestamp and LSN Inversion issue