Re: Bug?? -- Alter table drop constraint doesn't seem to work on a primary key constraint in 7.2beta2

From: "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Barry Lind" <barry(at)xythos(dot)com>
Cc: "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug?? -- Alter table drop constraint doesn't seem to work on a primary key constraint in 7.2beta2
Date: 2001-11-12 02:37:29
Message-ID: GNELIHDDFBOCMGBFGEFOIEFMCAAA.chriskl@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Barry Lind <barry(at)xythos(dot)com> writes:
> > I was looking at the 7.2 docs online at developer.postgresql.org. The
> > only example of 'drop constraint' in the text for the 'alter table'
> > command shows its usage without the RESTRICT/CASCADE option.

I could have sworn that the documentation patch for this specified that the
restrict clause was needed.

Here you go (from the Notes section):

In DROP CONSTRAINT, the RESTRICT keyword is required, although dependencies
are not yet checked. The CASCADE option is unsupported. Currently DROP
CONSTRAINT drops only CHECK constraints. To remove a PRIMARY or UNIQUE
constraint, drop the relevant index using the DROP INDEX command. To remove
FOREIGN KEY constraints you need to recreate and reload the table, using
other parameters to the CREATE TABLE command.

> Erroneous example fixed.
>
> > But I still can't get it to work for me. Consider the
> following test case:
>
> > create table test (col_a integer not null, col_b text);
> > alter table test add constraint test_pk primary key (col_a);
> > alter table test drop constraint test_pk restrict;
>
> > psql:test.sql:8: ERROR: ALTER TABLE / DROP CONSTRAINT: test_pk
> does not
> > exist
>
> Looking at the code, the problem is that DROP CONSTRAINT only works with
> CHECK constraints at the moment. This does seem to be adequately
> documented. Improving the functionality will have to wait for some
> future development cycle.

DROP CONSTRAINT can only drop CHECK constraints at the moment - and I could
also have sworn that that was documented in my SGML patch!

Perhaps the fall-through message about the constraint not existing is
somewhat misleading...

Anyway Barry - you can just go "DROP INDEX test_pk". In fact -

Chris

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-11-12 02:40:36 Re: Bug?? -- Alter table drop constraint doesn't seem to work on a primary key constraint in 7.2beta2
Previous Message Christopher Kings-Lynne 2001-11-12 02:25:42 regression test database borked