Re: heapam_index_build_range_scan's anyvisible

Ashwin Agrawal <aagrawal@pivotal.io>

From: Ashwin Agrawal <aagrawal@pivotal.io>
To: Andres Freund <andres@anarazel.de>
Cc: Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-07-30T20:54:59Z
Lists: pgsql-hackers
On Tue, Jul 16, 2019 at 10:22 AM Andres Freund <andres@anarazel.de> wrote:

> Hi,
>
> On 2019-07-11 17:27:46 -0700, Ashwin Agrawal wrote:
> > Please find attached the patch to remove IndexBuildCallback's dependency
> on
> > HeapTuple, as discussed. Changed to have the argument as ItemPointer
> > instead of HeapTuple. Other larger refactoring if feasible for
> > index_build_range_scan API itself can be performed as follow-up changes.
>
> > From f73b0061795f0c320f96ecfed0c0602ae318d73e Mon Sep 17 00:00:00 2001
> > From: Ashwin Agrawal <aagrawal@pivotal.io>
> > Date: Thu, 11 Jul 2019 16:58:50 -0700
> > Subject: [PATCH v1] Remove IndexBuildCallback's dependency on HeapTuple.
> >
> > With IndexBuildCallback taking input as HeapTuple, all table AMs
> > irrespective of storing the tuples in HeapTuple form or not, are
> > forced to construct HeapTuple, to insert the tuple in Index. Since,
> > only thing required by the index callbacks is TID and not really the
> > full tuple, modify callback to only take ItemPointer.
>
> Looks good to me. Planning to apply this unless somebody wants to argue
> against it soon?
>

Andres, I didn't yet register this for next commitfest. If its going in
soon anyways will not do it otherwise let me know and I will add it to the
list.

Commits

  1. Pass ItemPointer not HeapTuple to IndexBuildCallback.

  2. Fix BRIN to use SnapshotAny during summarization