mirror of
https://github.com/postgres/postgres.git
synced 2026-04-22 06:37:06 -04:00
Add comment explaining fire_triggers=false in ri_PerformCheck()
The reason for passing fire_triggers=false to SPI_execute_snapshot() in ri_PerformCheck() was not documented, making it unclear why it was done that way. Add a comment explaining that it ensures AFTER triggers on rows modified by the RI action are queued in the outer query's after-trigger context and fire only after all RI updates on the same row are complete. Author: Yugo Nagata <nagata@sraoss.co.jp> Reviewed-by: Kirill Reshke <reshkekirill@gmail.com> Reviewed-by: Surya Poondla <suryapoondla4@gmail.com> Discussion: https://postgr.es/m/20250331212648.ad4ab804559001d7f0788741@sraoss.co.jp
This commit is contained in:
parent
45cdaf3665
commit
1ad7191f7e
1 changed files with 7 additions and 1 deletions
|
|
@ -2582,7 +2582,13 @@ ri_PerformCheck(const RI_ConstraintInfo *riinfo,
|
|||
save_sec_context | SECURITY_LOCAL_USERID_CHANGE |
|
||||
SECURITY_NOFORCE_RLS);
|
||||
|
||||
/* Finally we can run the query. */
|
||||
/*
|
||||
* Finally we can run the query.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
spi_result = SPI_execute_snapshot(qplan,
|
||||
vals, nulls,
|
||||
test_snapshot, crosscheck_snapshot,
|
||||
|
|
|
|||
Loading…
Reference in a new issue