Message about not null in ALTER TABLE

Started by Alvaro Herreraabout 24 years ago2 messagesbugs
Jump to latest
#1Alvaro Herrera
alvherre@atentus.com

I think this is a bug in the error message:

alvherre=> alter table test add column b int not null;
ERROR: Adding NOT NULL columns is not implemented.
Add the column, then use ALTER TABLE ADD CONSTRAINT.

However, there is no way to add a NOT NULL constraint to an existing
column in a table, so the error message is misleading.

alvherre=> alter table test add constraint bnotnull not null b;
ERROR: parser: parse error at or near "not"

--
Alvaro Herrera (<alvherre[a]atentus.com>)
"Siempre hay que alimentar a los dioses, aunque la tierra este seca"
(Orual)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#1)
Re: Message about not null in ALTER TABLE

Alvaro Herrera <alvherre@atentus.com> writes:

However, there is no way to add a NOT NULL constraint to an existing
column in a table, so the error message is misleading.

Sure there is:

regression=# create table test (a int);
CREATE
regression=# alter table test add column b int not null;
ERROR: Adding NOT NULL columns is not implemented.
Add the column, then use ALTER TABLE ADD CONSTRAINT.
regression=# alter table test add column b int;
ALTER
regression=# alter table test add constraint bnotnull check (b notnull);
ALTER
regression=#

It'd be nice to have more ALTER TABLE variants implemented, but it's
not true that you can't get the functionality nohow...

regards, tom lane