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

Attachment: v3-0002-Allow-NOT-VALID-foreign-key-constraints-on-partit.patch
Description: Binary data

Reply via email to