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

From Alexander Korotkov
Subject Re: Table AM Interface Enhancements
Date
Msg-id CAPpHfduNh1iTo1KGBLAWBBt6MZQ00YkSVvUPgFDp6vUKY5Qo8w@mail.gmail.com
Whole thread Raw
In response to Re: Table AM Interface Enhancements  (Mark Dilger <mark.dilger@enterprisedb.com>)
Responses Re: Table AM Interface Enhancements
List pgsql-hackers
On Mon, Nov 27, 2023 at 10:18 PM Mark Dilger
<mark.dilger@enterprisedb.com> wrote:
>
> > On Nov 25, 2023, at 9:47 AM, Alexander Korotkov <aekorotkov@gmail.com> wrote:
> >
> >> Should the patch at least document which parts of the EState are expected to be in which states, and which parts
shouldbe viewed as undefined?  If the implementors of table AMs rely on any/all aspects of EState, doesn't that prevent
futurechanges to how that structure is used? 
> >
> > New tuple tuple_insert_with_arbiter() table AM API method needs EState
> > argument to call executor functions: ExecCheckIndexConstraints(),
> > ExecUpdateLockMode(), and ExecInsertIndexTuples().  I think we
> > probably need to invent some opaque way to call this executor function
> > without revealing EState to table AM.  Do you think this could work?
>
> We're clearly not accessing all of the EState, just some specific fields, such as es_per_tuple_exprcontext.  I think
youcould at least refactor to pass the minimum amount of state information through the table AM API. 

Yes, the table AM doesn't need the full EState, just the ability to do
specific manipulation with tuples.  I'll refactor the patch to make a
better isolation for this.

------
Regards,
Alexander Korotkov



pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Table AM Interface Enhancements
Next
From: Alvaro Herrera
Date:
Subject: Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock