On 2026-02-21 Sa 9:42 AM, jian he wrote:
On Wed, Feb 11, 2026 at 3:37 AM Zsolt Parragi <[email protected]> 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);
+    }





pushed with minor tweaks.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com



Reply via email to