On Wed, Feb 11, 2026 at 3:37 AM Zsolt Parragi <zsolt.parragi@percona.com> wrote:
>
> Hello
>
> - if (cmdcon->alterEnforceability &&
> - ATExecAlterFKConstrEnforceability(wqueue, cmdcon, conrel, tgrel,
> - currcon->conrelid, currcon->confrelid,
> - contuple, lockmode, InvalidOid,
> - InvalidOid, InvalidOid, InvalidOid))
> + if (cmdcon->alterEnforceability)
> + {
> + if (currcon->contype == CONSTRAINT_FOREIGN)
> + ATExecAlterFKConstrEnforceability(wqueue, cmdcon, conrel, tgrel,
> + currcon->conrelid,
> + currcon->confrelid,
> + contuple, lockmode,
> + InvalidOid, InvalidOid,
> + InvalidOid, InvalidOid);
> + else if (currcon->contype == CONSTRAINT_CHECK)
> + ATExecAlterCheckConstrEnforceability(wqueue, cmdcon, conrel,
> + contuple, recurse, false,
> + lockmode);
> changed = true;
>
> Isn't this a behavior change?
>
Hi.
You are right, I missed this minor detail.
Now, I changed it to
+ if (cmdcon->alterEnforceability)
+ {
+ if (currcon->contype == CONSTRAINT_FOREIGN)
+ changed = ATExecAlterFKConstrEnforceability(wqueue,
cmdcon, conrel, tgrel,
+ currcon->conrelid,
+ currcon->confrelid,
+ contuple, lockmode,
+ InvalidOid, InvalidOid,
+ InvalidOid,
InvalidOid);
+ else if (currcon->contype == CONSTRAINT_CHECK)
+ changed = ATExecAlterCheckConstrEnforceability(wqueue,
cmdcon, conrel,
+ contuple,
recurse, false,
+ lockmode);
+ }
--
jian
https://www.enterprisedb.com/