Re: BitmapHeapScan streaming read user and prelim refactoring

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

On Wed, Feb 19, 2025 at 4:14 PM Melanie Plageman
<melanieplageman(at)gmail(dot)com> wrote:
>
> Attached v30 makes the tuple offset extraction happen later as you
> suggested. It turns out that none of the users need to worry much
> about allocating and freeing -- I was able to have all users make an
> offsets array on the stack. Personally I don't think we should worry
> about making a smaller array when fewer offsets are needed.
>
> Even without the read stream API, in bitmap heap scan, delaying
> extraction of the offsets lets us skip doing so for the prefetch
> iterator -- so that's kind of cool. Anyway, we are going to get rid of
> the prefetch iterator, so I won't belabor the point.
>
> I was worried the patch would be too big of a change to the tidbitmap
> API for this late in the cycle, but it turned out to be a small patch.
> I'd be interested in what folks think.

Attached v31 has some updates after self-review and some off-list
feedback from Andres. They're minor changes, so I won't enumerate
them.

- Melanie

Attachment Content-Type Size
v31-0001-Delay-extraction-of-TIDBitmap-per-page-offsets.patch text/x-patch 13.4 KB
v31-0002-Separate-TBM-Shared-Private-Iterator-and-TBMIter.patch text/x-patch 20.1 KB
v31-0003-BitmapHeapScan-uses-the-read-stream-API.patch text/x-patch 31.5 KB
v31-0004-Remove-table-AM-callback-scan_bitmap_next_block.patch text/x-patch 22.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Israel Barth Rubio 2025-02-20 22:20:13 Re: Add -k/--link option to pg_combinebackup
Previous Message Noah Misch 2025-02-20 22:07:54 Re: pg_trgm comparison bug on cross-architecture replication due to different char implementation