Re: Batching in executor

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: Denis Smirnov <darthunix(at)gmail(dot)com>, Junwang Zhao <zhjwpku(at)gmail(dot)com>, cca5507 <cca5507(at)qq(dot)com>, Daniil Davydov <3danissimo(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me>
Subject: Re: Batching in executor
Date: 2026-07-21 06:03:22
Message-ID: CA+HiwqGQPDwxK7QQNUWhqhAEwaH4Z+YQhHG5jNPYHGNzDMfsXw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I still haven't gotten a chance to review Denis's proposal and the
patches closely, but I wanted to second what Antonin wrote below.

On Fri, Jul 17, 2026 at 9:12 PM Antonin Houska <ah(at)cybertec(dot)at> wrote:
> Denis Smirnov <darthunix(at)gmail(dot)com> wrote:
>
> > I am not sure adding a new table AM callback for this is the right
> > direction, at least for this patch.
> >
> > My concern is that scan_getnextbatch still looks like a row-oriented
> > interface. For a Parquet-like AM, with columnar storage and block-level
> > filters such as bloom/fuse filters, the useful API would need to pass
> > down things like the required columns, pushed-down predicates, and maybe
> > a limit. Just asking the AM for the next batch of rows does not give the
> > storage layer enough information to avoid unnecessary work.
>
> Is there a reason not to include this information in the scan descriptor of
> particular AM?

Yeah, I think that information is better passed to beginscan() than to
getnextslot() or getnextbatch(). The scan descriptor is scan-lifetime
state, so telling the AM which columns and predicates it can use
belongs at scan setup; what the getnext* functions return per call is
a separate question. That work could be undertaken independently of
allowing them to return batches.

I'll try to reply properly on the rest of Denis's points later this week.

--
Thanks, Amit Langote

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Nitin Motiani 2026-07-21 06:11:09 Re: [PATCH v1] Fix propagation of indimmediate flag in index_create_copy
Previous Message Amit Langote 2026-07-21 05:56:44 Re: ri_Fast* crash w/ nullable UNIQUE constraint