On Wed, Mar 26, 2025 at 12:29 PM Álvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > > On 2025-Mar-26, Amul Sul wrote: > > > The reason for the change is to revert to the behavior before commit > > #80d7f990496b1c, where recursion occurred regardless of the > > changed flags. This is also described in the header comment for > > ATExecAlterConstrDeferrability() (earlier it was for > > ATExecAlterConstraintInternal): > > > > * Note that we must recurse even when the values are correct, in case > > * indirect descendants have had their constraints altered locally. > > * (This could be avoided if we forbade altering constraints in partitions > > * but existing releases don't do that.) > > Umm, why? Surely we should not allow a partition tree to become > inconsistent. >
I just checked, and we are not allowed to alter a constraint on the child table alone, nor can we merge it when attaching to the parent constraint if the deferrability is different. Therefore, I think we should remove this comment as it seems outdated now. Regards, Amul