Re: ALTER TABLE ONLY ...DROP CONSTRAINT is broken in HEAD. - Mailing list pgsql-hackers

From Robert Haas
Subject Re: ALTER TABLE ONLY ...DROP CONSTRAINT is broken in HEAD.
Date
Msg-id CA+TgmoYvjvT=JZowP2bA4G5bCm37Y7rvXPWc85rkpGkG+5aDHg@mail.gmail.com
Whole thread Raw
In response to ALTER TABLE ONLY ...DROP CONSTRAINT is broken in HEAD.  (Alexey Klyukin <alexk@commandprompt.com>)
List pgsql-hackers
On Mon, Sep 12, 2011 at 11:53 AM, Alexey Klyukin
<alexk@commandprompt.com> wrote:
> This works in 9.1, but not in HEAD:
>
> CREATE TABLE parent(id INTEGER, CONSTRAINT id_check CHECK(id>1));
> CREATE TABLE child() INHERITS(parent);
>
> ALTER TABLE ONLY parent DROP CONSTRAINT id_check;
>
> I'm getting:
> ERROR:  relation 16456 has non-inherited constraint "id_check"
> where 16456 is the oid of the child table.
>
> It seems that the pg_constraint scan at ATExecDropConstraint (tablecmds.c:6751) is re-reading those tuples that were
updatedin the previous iterations of this scan, at least that's what I've observed in gdb. I'm not sure how to fix this
yet.

Woops, seems this got overlooked.  It's been fixed, though: see commit
c0f03aae0469e758964faac0fb741685170c39a5.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)
Next
From: Robert Haas
Date:
Subject: Re: [PATCH] Use new oom_score_adj without a new compile-time constant