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

amit <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Sandro Santilli <strk@kbt.io>, Amit Langote <amitlangote09@gmail.com>, Tomas Vondra <tomas@vondra.me>, Junwang Zhao <zhjwpku@gmail.com>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-04-10T04:14:11Z
Lists: pgsql-hackers
Hi Sandro,

On Fri, Apr 10, 2026 at 1:02 AM Sandro Santilli <strk@kbt.io> wrote:
> On Thu, Apr 09, 2026 at 08:55:01PM +0900, Amit Langote wrote:
> > Hi Sandro,
> >
> > On Thu, Apr 9, 2026 at 8:07 PM Sandro Santilli <strk@kbt.io> wrote:
> > > On Mon, Mar 02, 2026 at 01:34:41PM +0100, Tomas Vondra wrote:
> > > >
> > > > TBH I haven't noticed the memory context issue myself, I only noticed
> > > > because the builds with index prefetch started crashing.
> > >
> > > We're getting a crash in PostGIS too, since that commit was merged into
> > > the master branch, see https://trac.osgeo.org/postgis/ticket/6066
> > >
> > > The crash is triggered a C function using SPI.
> >
> > Evan Montgomery-Recht posted a report of the same issue on this thread
> > a couple of days ago.
>
> I confirm the patch attached in Evan's email [1] fixes the crash for us.
>
> [1] https://www.postgresql.org/message-id/CAEg7pwcKf01FmDqFAf-Hzu_pYnMYScY_Otid-pe9uw3BJ6gq9g%40mail.gmail.com
>
> > I have posted a patch to fix the issue, which I will commit tomorrow
> > after a bit more testing.
>
> I also confirm your patch v4-0001-Fix-RI-fast-path-crash-under-nested-C-level-SPI.patch
> fixes the crash for us. Thank you !

Thanks for confirming that.

> Let me know when it is time to test again against master.

I have just pushed 0001 which you'll find in master as 34a3078629.

-- 
Thanks, Amit Langote



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix some const qualifier use in ri_triggers.c

  2. doc: Improve consistency of parallel vacuum description.

  3. Move afterTriggerFiringDepth into AfterTriggersData

  4. Fix typo left by 34a30786293

  5. Fix RI fast-path crash under nested C-level SPI

  6. Add nkeys parameter to recheck_matched_pk_tuple()

  7. Fix deferred FK check batching introduced by commit b7b27eb41a5

  8. Optimize fast-path FK checks with batched index probes

  9. Make FastPathMeta self-contained by copying FmgrInfo structs

  10. Add fast path for foreign key constraint checks