Re: Table AM Interface Enhancements - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: Table AM Interface Enhancements
Date
Msg-id CAPpHfdufBm58B=VK9TasT-J64Os4bO2fFa=5N2pv84weShQFDQ@mail.gmail.com
Whole thread Raw
In response to Re: Table AM Interface Enhancements  (Alexander Korotkov <aekorotkov@gmail.com>)
List pgsql-hackers
On Mon, Apr 8, 2024 at 2:25 AM Alexander Korotkov <aekorotkov@gmail.com> wrote:
> On Mon, Apr 8, 2024 at 12:40 AM Andres Freund <andres@anarazel.de> wrote:
> > On 2024-03-30 23:33:04 +0200, Alexander Korotkov wrote:
> > > I've pushed 0001, 0002 and 0006.
> >
> > I briefly looked at 27bc1772fc81 and I don't think the state post this commit
> > makes sense. Before this commit another block based AM could implement analyze
> > without much code duplication. Now a large portion of analyze.c has to be
> > copied, because they can't stop acquire_sample_rows() from calling
> > heapam_scan_analyze_next_block().
> >
> > I'm quite certain this will break a few out-of-core AMs in a way that can't
> > easily be fixed.
>
> I was under the impression there are not so many out-of-core table
> AMs, which have non-dummy analysis implementations.  And even if there
> are some, duplicating acquire_sample_rows() isn't a big deal.
>
> But given your feedback, I'd like to propose to keep both options
> open.  Turn back the block-level API for analyze, but let table-AM
> implement its own analyze function.  Then existing out-of-core AMs
> wouldn't need to do anything (or probably just set the new API method
> to NULL).

The attached patch was to illustrate the approach.  It surely needs
some polishing.

------
Regards,
Alexander Korotkov



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: meson: Specify -Wformat as a common warning flag for extensions
Next
From: Andres Freund
Date:
Subject: Re: Table AM Interface Enhancements