| From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
|---|---|
| To: | Noah Misch <noah(at)leadboat(dot)com> |
| Cc: | Junwang Zhao <zhjwpku(at)gmail(dot)com>, Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>, Nikolay Samokhvalov <nik(at)postgres(dot)ai>, pgsql-hackers mailing list <pgsql-hackers(at)postgresql(dot)org>, Andrey Borodin <amborodin(at)acm(dot)org>, Kirk Wolak <wolakk(at)gmail(dot)com> |
| Subject: | Re: PG19 FK fast path: OOB write and missed FK checks during batched |
| Date: | 2026-08-19 13:12:43 |
| Message-ID: | CA+HiwqGL3zZeamjhSfmttAEvy8RmcXEOiT95ZwFx5bjtyojatQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Aug 19, 2026 at 12:09 AM Noah Misch <noah(at)leadboat(dot)com> 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
| Attachment | Content-Type | Size |
|---|---|---|
| v3-0001-Restore-firing-state-at-subtransaction-end.patch | application/octet-stream | 9.1 KB |
| v3-0003-Track-RI-fast-path-FK-check-batches-per-subtransa.patch | application/octet-stream | 15.8 KB |
| v3-0002-Track-RI-fast-path-FK-check-batches-per-firing-cy.patch | application/octet-stream | 17.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Matthias van de Meent | 2026-08-19 13:13:42 | Re: Thread-safe stringToNode() / pg_strtok() |
| Previous Message | Pierre Forstmann | 2026-08-19 13:11:47 | Re: [PATCH] Add planner support function to two-argument regexp_like() |