Re: Add comments about fire_triggers argument in ri_triggers.c
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Yugo Nagata <nagata@sraoss.co.jp>
Cc: surya poondla <suryapoondla4@gmail.com>, pgsql-hackers@postgresql.org, Kirill Reshke <reshkekirill@gmail.com>
Date: 2026-03-27T00:39:17Z
Lists: pgsql-hackers
On Fri, Mar 27, 2026 at 12:56 AM Yugo Nagata <nagata@sraoss.co.jp> wrote: > > Hi, > > Thank you all for the review and comments. > > > Yes Amit, I agree that SPI_execute_snapshot() comments do provide some > > context on AFTER triggers, but I still feel the newly added comment > > in ri_PerformCheck() gives additional context on why the fire_triggers is > > set to false. > > Yes, that is what I intended. The existing comments on > SPI_execute_snapshot() explain how the fire_triggers parameter works, > but I would like to add a comment explaining why the AFTER trigger for > RI needs to set it to false. > > If the explanation of the effect of fire_triggers seems redundant, I am > fine with the following shorter version: > > + * Set fire_triggers to false to ensure that check triggers fire after all > + * RI updates on the same row are complete. Thanks for the updated patch. Yes, adding the comment might be good, but I'd suggest a small tweak: + * Set fire_triggers to false to ensure that AFTER triggers are queued in + * the outer query's after-trigger context and fire after all RI updates on + * the same row are complete, rather than immediately. Two changes: * "check triggers" -> "AFTER triggers", since fire_triggers=false affects any AFTER triggers queued during the SPI execution, not just RI check triggers. * mention of the outer query's after-trigger context to explain the mechanism by which the deferral works. Does that additional context help? -- Thanks, Amit Langote
Commits
-
Add comment explaining fire_triggers=false in ri_PerformCheck()
- 1ad7191f7e92 19 (unreleased) landed