Fix ALTER TABLE code to update domain constraints when needed.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/tablecmds.c | modified | +82 −16 |
| src/backend/utils/adt/ruleutils.c | modified | +58 −9 |
| src/include/nodes/parsenodes.h | modified | +1 −0 |
| src/test/regress/expected/domain.out | modified | +25 −0 |
| src/test/regress/sql/domain.sql | modified | +20 −0 |
Discussion
- ALTER COLUMN TYPE vs. domain constraints 3 messages · 2017-10-27 → 2017-11-01