Re: Eliminating SPI / SQL from some RI triggers - take 3

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Junwang Zhao <zhjwpku(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Haibo Yan <tristan(dot)yim(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me>
Subject: Re: Eliminating SPI / SQL from some RI triggers - take 3
Date: 2026-04-22 04:04:17
Message-ID: CA+HiwqFvnAJuBn6AwVOK_tEKOqjUeADJToYhQMTeCG6wYHOuKA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Apr 21, 2026 at 9:52 AM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> On Tue, Apr 21, 2026 at 5:50 AM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
> > On 02.04.26 09:41, Amit Langote wrote:
> > > There's another case in which it is not ok to use FlushArray and that
> > > is if the index AM's amsearcharray is false (should be true in all
> > > cases because the unique index used for PK is always btree). Added an
> > > Assert to that effect next to where SK_SEARCHARRAY is set in
> > > ri_FastPathFlushArray rather than a runtime check in the dispatch
> > > condition.
> > >
> > > Patch updated. Also added a comment about invalidation requirement or
> > > lack thereof for RI_FastPathEntry, rename AfterTriggerBatchIsActive()
> > > to simply AfterTriggerIsActive(), fixed the comments in trigger.h
> > > describing the callback mechanism.
> > >
> > > Will push tomorrow morning (Friday) barring objections.
> >
> > This commit contains a couple of calls
> >
> > ri_populate_fastpath_metadata((RI_ConstraintInfo *) riinfo,
> > fk_rel, idx_rel);
> >
> > where the cast casts away the const-ness of riinfo.
> >
> > But this is kind of a lie, since the purpose of
> > ri_populate_fastpath_metadata() is to modify riinfo.
> >
> > I think the right thing to do here is to unwind the const qualifiers up
> > the stack. See attached patch.
>
> Thanks for the patch. LGTM.
>
> Are you planning to push it or do you want me to?

Pushed.

--
Thanks, Amit Langote

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2026-04-22 04:24:08 Re: [PATCH] Remove dead code in ExecForPortionOfLeftovers()
Previous Message Quan Zongliang 2026-04-22 03:58:24 Re: [PATCH] Remove dead code in ExecForPortionOfLeftovers()