Fix ALTER TABLE code to update domain constraints when needed.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Nov 2017 17:32:23 +0000 (13:32 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Nov 2017 17:32:23 +0000 (13:32 -0400)
commitaf20e2d728eb508bb169e7294e4e210a3459833a
tree774e98c0bce803bef522ccde3abd612b2d4d56a4
parent387ec70322aaf60127537bc200e20791f0b415ae
Fix ALTER TABLE code to update domain constraints when needed.

It's possible for dropping a column, or altering its type, to require
changes in domain CHECK constraint expressions; but the code was
previously only expecting to find dependent table CHECK constraints.
Make the necessary adjustments.

This is a fairly old oversight, but it's a lot easier to encounter
the problem in the context of domains over composite types than it
was before.  Given the lack of field complaints, I'm not going to
bother with a back-patch, though I'd be willing to reconsider that
decision if someone does complain.

Patch by me, reviewed by Michael Paquier

Discussion: https://postgr.es/m/30656.1509128130@sss.pgh.pa.us
src/backend/commands/tablecmds.c
src/backend/utils/adt/ruleutils.c
src/include/nodes/parsenodes.h
src/test/regress/expected/domain.out
src/test/regress/sql/domain.sql