Fix pg_dump sorting of foreign key constraints
authorÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 18 Oct 2025 15:50:10 +0000 (17:50 +0200)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Sat, 18 Oct 2025 15:50:10 +0000 (17:50 +0200)
Apparently, commit 04bc2c42f765 failed to notice that DO_FK_CONSTRAINT
objects require identical handling as DO_CONSTRAINT ones, which causes
some pg_upgrade tests in debug builds to fail spuriously.  Add that.

Author: Álvaro Herrera <alvherre@kurilemu.de>
Backpatch-through: 13
Discussion: https://postgr.es/m/202510181201.k6y75v2tpf5r@alvherre.pgsql

src/bin/pg_dump/pg_dump_sort.c

index 2d02456664b5940357fb54055ff6900d25e0b393..164c76e086406f41d0417e57da244b81024f97f4 100644 (file)
@@ -385,7 +385,8 @@ DOTypeNameCompare(const void *p1, const void *p2)
        if (cmpval != 0)
            return cmpval;
    }
-   else if (obj1->objType == DO_CONSTRAINT)
+   else if (obj1->objType == DO_CONSTRAINT ||
+            obj1->objType == DO_FK_CONSTRAINT)
    {
        ConstraintInfo *robj1 = *(ConstraintInfo *const *) p1;
        ConstraintInfo *robj2 = *(ConstraintInfo *const *) p2;