On Wed, Jan 22, 2025 at 2:36 AM Álvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > > Suppose I have a hierarchy like this > > parent > | > child > /\ > / \ > / grandchild2 > / > grandchild1 > > and I have a validated constraint on grandchild1 and an invalid > constraint on child. What happens if I add a constraint on parent? In > my understanding, it should not attempt to revalidate the constraint on > grandchild1, because it's known valid; but I don't think I see code that > would skip validation there. That is, QueueFKConstraintValidation does > its thing unconditionally (esp. recursing to children), which seems > wrong. >
You’re correct; it’s fixed in the attached version, along with an assert(!convalidated) in QueueFKConstraintValidation(), and I’ve included tests to cover the change. Thanks for reviewing this patch. Regards, Amul
v3-0002-Allow-NOT-VALID-foreign-key-constraints-on-partit.patch
Description: Binary data