Re: Bug in ALTER COLUMN SET DATA TYPE ?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nikhil Sontakke <nikkhils@gmail.com>
Cc: Pavan Deolasee <pavan.deolasee@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-11-02T15:30:22Z
Lists: pgsql-hackers
Nikhil Sontakke <nikkhils@gmail.com> writes:
>> Hmm.. I haven't yet tested on other branches. But I'm surprised that you
>> find it broken on so much old branches. "git annotate" suggests that the
>> offending error message was added by commit
>> 09ff76fcdb275769ac4d1a45a67416735613d04b and that commit is dated Apr 20,
>> 2012

> Mea Culpa. I did indeed add that error message. But it's strange when Tom
> says that this is broken since 8.3!

In the 8.4 branch, the error is coming from here:

regression=# \set VERBOSITY verbose
regression=# ALTER TABLE test ALTER COLUMN a  TYPE numeric;
ERROR:  42P16: constraint must be added to child tables too
LOCATION:  ATAddCheckConstraint, tablecmds.c:4467

which appears to have been added in commit cd902b331.  I think the
commit Pavan is looking at just moved the logic around.

			regards, tom lane


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Recast "ONLY" column CHECK constraints as NO INHERIT

  2. Adjust join_search_one_level's handling of clauseless joins.

  3. Allow CHECK constraints to be declared ONLY

  4. Change the rules for inherited CHECK constraints to be essentially the same