Re: Eliminating SPI / SQL from some RI triggers - take 3
amit <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Sandro Santilli <strk@kbt.io>, Tomas Vondra <tomas@vondra.me>,
Junwang Zhao <zhjwpku@gmail.com>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>,
jie wang <jugierwang@gmail.com>
Date: 2026-04-10T04:21:37Z
Lists: pgsql-hackers
On Fri, Apr 10, 2026 at 1:21 PM Chao Li <li.evan.chao@gmail.com> wrote: > > On Apr 10, 2026, at 12:14, Amit Langote <amitlangote09@gmail.com> wrote: > > > > 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 > > Hi Amit, looks like you missed to fix the typo that Jie pointed out. In 34a307862930056e1976471d6d81a5e2efc148df, > ``` > + bool firing_batch_callbacks; /* true when in > + * FireAfterTriggersBatchCallbacks() */ > ``` > The typo is still there. Yep, my bad. Will push a fix shortly. -- 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 →
-
Fix some const qualifier use in ri_triggers.c
- 1b9dc2cb7574 19 (unreleased) landed
-
doc: Improve consistency of parallel vacuum description.
- 2a3d2f9f68da 19 (unreleased) cited
-
Move afterTriggerFiringDepth into AfterTriggersData
- d6e96bacd3c0 19 (unreleased) landed
-
Fix typo left by 34a30786293
- 03029409b409 19 (unreleased) landed
-
Fix RI fast-path crash under nested C-level SPI
- 34a307862930 19 (unreleased) landed
-
Add nkeys parameter to recheck_matched_pk_tuple()
- e1cc57fabd6c 19 (unreleased) landed
-
Fix deferred FK check batching introduced by commit b7b27eb41a5
- 5c54c3ed1b93 19 (unreleased) landed
-
Optimize fast-path FK checks with batched index probes
- b7b27eb41a5c 19 (unreleased) landed
-
Make FastPathMeta self-contained by copying FmgrInfo structs
- edee5634564d 19 (unreleased) landed
-
Add fast path for foreign key constraint checks
- 2da86c1ef9b5 19 (unreleased) landed