Re: BitmapHeapScan streaming read user and prelim refactoring

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Tomas Vondra <tomas(at)vondra(dot)me>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Subject: Re: BitmapHeapScan streaming read user and prelim refactoring
Date: 2025-01-29 21:38:31
Message-ID: CAAKRu_apgCBdy1jLCrnBWxA7az=YWfwhxmmQ5JH03SCF4Rupvg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 22, 2025 at 4:24 PM Melanie Plageman
<melanieplageman(at)gmail(dot)com> wrote:
>
> On Mon, Dec 9, 2024 at 1:22 AM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> >
> > Are we planning to commit this refactoring? I think this refactoring
> > makes the overall code of BitmapHeapNext() quite clean and readable.
> > I haven't read all patches but 0001-0006 including 0009 makes this
> > code quite clean and readable. I like the refactoring of merging of
> > the shared iterator and the private iterator also.
>
> Thanks for the feedback, Dilip. I've pushed the patches through 0006.
>
> I've reorganized the remaining patches in attached v26.
>
> 0001 is just the refactoring to push the setup into a helper.
> 0002-0003 are required refactoring of the TBMIterateResult and
> TBMIterator to support the read stream API.
> 0004 implements using the read stream API and removing the old prefetching code.
> 0005 removes the table_scan_bitmap_next_block() callback, as it is not
> really used anymore in BitmapHeapNext() to get the next block.
>
> I could use review feedback on all of them. 0001 should be ready to
> push once I get some review.

Bilal mentioned offlist that 0001 had some indentation issues in one
of the comments. v27 attached.

- Melanie

Attachment Content-Type Size
v27-0004-BitmapHeapScan-uses-read-stream-API.patch application/octet-stream 30.9 KB
v27-0003-Separate-TBM-Shared-Private-Iterator-and-TBMIter.patch application/octet-stream 20.5 KB
v27-0002-Hard-code-TBMIterateResult-offsets-array-size.patch application/octet-stream 5.3 KB
v27-0005-Remove-table-AM-callback-scan_bitmap_next_block.patch application/octet-stream 22.0 KB
v27-0001-Move-BitmapTableScan-per-scan-setup-into-a-helpe.patch application/octet-stream 8.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2025-01-29 21:47:08 pg_rewind with --write-recovery-conf option doesn't write dbname to primary_conninfo value.
Previous Message Sami Imseih 2025-01-29 21:14:01 Re: preptlist.c can insert unprocessed expression trees