Thread: pgsql: Fix inheritance count tracking in ALTER TABLE ..

pgsql: Fix inheritance count tracking in ALTER TABLE ..

From
rhaas@postgresql.org (Robert Haas)
Date:
Log Message:
-----------
Fix inheritance count tracking in ALTER TABLE .. ADD CONSTRAINT.

Without this patch, constraints inherited by children of a parent
table which itself has multiple inheritance parents can end up with
the wrong coninhcount.  After dropping the constraint, the children
end up with a leftover copy of the constraint that is not dumped
and cannot be dropped.  There is a similar problem with ALTER TABLE
.. ADD COLUMN, but that looks significantly more difficult to
resolve, so I'm committing this fix separately.

Back-patch to 8.4, which is the first release that has coninhcount.

Report by Hank Enting.

Modified Files:
--------------
    pgsql/src/backend/commands:
        tablecmds.c (r1.337 -> r1.338)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.337&r2=1.338)