On Wed, Aug 19, 2026 at 12:09 AM Noah Misch <[email protected]> wrote: > On Tue, Aug 18, 2026 at 10:42:14PM +0900, Amit Langote wrote: > > After considering Peter's report of another bug [1] that is fixed by > > 0001, I tested both his reproducer and nested firing involving the > > same constraint. > > > > The latter exposed a problem in v1: the cache was still keyed only by > > constraint OID, so a nested check of the same constraint reused the > > outer entry and did not register a callback at the nested query depth. > > In v2, the key is now (constraint OID, query depth), giving each > > firing level its own entry and callback. > > > > 0001 now includes regression tests for both cases. 0002 and 0003 are > > unchanged. > > > > I would like to commit these sometime this week and would appreciate a > > review. > > I won't be able to review this. The list should consider it up for grabs.
Attached is v3, rebased over latest master. I reorganized the series to separate firing-state restoration (0001), per-firing-cycle batch and callback scoping that fixes Peter's report [1] (0002), and per-subtransaction batch tracking as suggested by Noah (0003). 0003 also folds in the invariant assertion previously sent separately. The combined code is otherwise unchanged from v2. [1] https://postgr.es/m/CAH2-Wz%3DD533JbF_ak_Pc8kP0FKse-ju8DnMxtjvY%3D%3DyHsP4xgw%40mail.gmail.com -- Thanks, Amit Langote
v3-0001-Restore-firing-state-at-subtransaction-end.patch
Description: Binary data
v3-0003-Track-RI-fast-path-FK-check-batches-per-subtransa.patch
Description: Binary data
v3-0002-Track-RI-fast-path-FK-check-batches-per-firing-cy.patch
Description: Binary data
