pgsql/ oc/src/sgml/ref/alter_table.sgml rc/bac ...

From: "Marc G(dot) Fournier" <scrappy(at)hub(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql/ oc/src/sgml/ref/alter_table.sgml rc/bac ...
Date: 2001-09-07 21:57:54
Message-ID: 200109072157.f87Lvsp78312@hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

CVSROOT: /home/projects/pgsql/cvsroot
Module name: pgsql
Changes by: scrappy(at)hub(dot)org 01/09/07 17:57:53

Modified files:
doc/src/sgml/ref: alter_table.sgml
src/backend/commands: command.c
src/backend/parser: analyze.c
src/include/parser: analyze.h

Log message:
Here is my much-promised patch to let people add UNIQUE constraints after
table creation time. Big deal you say - but this patch is the basis of the
next thing which is adding PRIMARY KEYs after table creation time. (Which
is currently impossible without twiddling catalogs)

Rundown
-------

* I have made the makeObjectName function of analyze.c non-static, and
exported it in analyze.h

* I have included analyze.h and defrem.h into command.c, to support
makingObjectNames and creating indices

* I removed the 'case CONSTR_PRIMARY' clause so that it properly fails and
says you can't add primary keys, rather than just doing nothing and
reporting nothing!!!

* I have modified the docs.

Algorithm
---------

* If name specified is null, search for a new valid constraint name. I'm
not sure if I should "lock" my generated name somehow tho - should I open
the relation before doing this step?

* Open relation in access exclusive mode

* Check that the constraint does not already exist

* Define the new index

* Warn if they're doubling up on an existing index

Christopher Kings-Lynne

Browse pgsql-committers by date

  From Date Subject
Next Message Marc G. Fournier 2001-09-07 22:02:32 pgsql/ oc/src/sgml/libpq.sgml rc/interfaces/li ...
Previous Message Marc G. Fournier 2001-09-07 21:55:00 pgsql/src/interfaces/libpgtcl pgtclId.c