Thread: pgsql: Fix handling of inherited check constraints in ALTER COLUMN TYPE

pgsql: Fix handling of inherited check constraints in ALTER COLUMN TYPE

From
Tom Lane
Date:
Fix handling of inherited check constraints in ALTER COLUMN TYPE.

This case got broken in 8.4 by the addition of an error check that
complains if ALTER TABLE ONLY is used on a table that has children.
We do use ONLY for this situation, but it's okay because the necessary
recursion occurs at a higher level.  So we need to have a separate
flag to suppress recursion without making the error check.

Reported and patched by Pavan Deolasee, with some editorial adjustments by
me.  Back-patch to 8.4, since this is a regression of functionality that
worked in earlier branches.

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8e344eacdccc3c069974cba61af42be60e50c764

Modified Files
--------------
src/backend/commands/tablecmds.c          |   40 +++++++++++++++++++++++------
src/include/nodes/parsenodes.h            |    4 ++-
src/test/regress/expected/alter_table.out |   22 ++++++++++++++++
src/test/regress/sql/alter_table.sql      |    7 +++++
4 files changed, 64 insertions(+), 9 deletions(-)