Re: ALTER TABLE ADD COLUMN can't use NOT NULL? - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject Re: ALTER TABLE ADD COLUMN can't use NOT NULL?
Date
Msg-id GNELIHDDFBOCMGBFGEFOEEGACAAA.chriskl@familyhealth.com.au
Whole thread Raw
In response to Re: ALTER TABLE ADD COLUMN can't use NOT NULL?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: ALTER TABLE ADD COLUMN can't use NOT NULL?
List pgsql-hackers
> Bradley McLean <brad@bradm.net> writes:
> > In the CVS tip from this morning:
> > a123=# alter table test add test1 int4 not null;
> > ERROR:  Adding NOT NULL columns is not implemented.
> >         Add the column, then use ALTER TABLE ADD CONSTRAINT.
>
> > I'm pretty sure the first one used to work just fine.
>
> No, it never worked per spec.  The spec requires the constraint to
> be enforced immediately, and since the values of the new column
> would all be null, there's no way for this to be a legal command.
>
> What's legal per spec is an ADD that provides a DEFAULT along with
> specifying NOT NULL.  But we don't support ADD with a DEFAULT yet :-(

As far as I am aware, we don't even support using ALTER TABLE ADD CONSRAINT
to add a NOT NULL constraint, so I have no idea why the ERROR: message tells
people to do that!!!

Or am I wrong?

Chris



pgsql-hackers by date:

Previous
From: "Christopher Kings-Lynne"
Date:
Subject: Regression test database still stuffed
Next
From: Tom Lane
Date:
Subject: Re: ALTER TABLE ADD COLUMN can't use NOT NULL?