Skip site navigation (1) Skip section navigation (2)

ADD CONSTRAINT UNIQUE patch

From: "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>
To: "Patches" <pgsql-patches(at)postgresql(dot)org>
Subject: ADD CONSTRAINT UNIQUE patch
Date: 2001-08-24 01:40:55
Message-ID: ECEHIKNFIMMECLEBJFIGAEKFCBAA.chriskl@familyhealth.com.au (view raw or flat)
Thread:
Lists: pgsql-patches
Hi all,

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

Chris

Attachment: addunique-doc.diff
Description: application/octet-stream (1.5 KB)
Attachment: addunique.diff
Description: application/octet-stream (10.9 KB)

Responses

pgsql-patches by date

Next:From: Bruce MomjianDate: 2001-08-24 01:48:17
Subject: Re: JDBC patch (attempt#2) for util.Serialize and jdbc2.PreparedStatement
Previous:From: Robert B. EasterDate: 2001-08-24 01:27:54
Subject: JDBC patch (attempt#2) for util.Serialize and jdbc2.PreparedStatement

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group