Re: ALTER TABLE ADD COLUMN can't use NOT NULL?

Поиск
Список
Период
Сортировка
От Christopher Kings-Lynne
Тема Re: ALTER TABLE ADD COLUMN can't use NOT NULL?
Дата
Msg-id GNELIHDDFBOCMGBFGEFOEEGACAAA.chriskl@familyhealth.com.au
обсуждение исходный текст
Ответ на Re: ALTER TABLE ADD COLUMN can't use NOT NULL?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ALTER TABLE ADD COLUMN can't use NOT NULL?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: "Christopher Kings-Lynne"
Дата:
Сообщение: Regression test database still stuffed
Следующее
От: Tom Lane
Дата:
Сообщение: Re: ALTER TABLE ADD COLUMN can't use NOT NULL?