Обсуждение: Strange ADD CHECK error message

Поиск
Список
Период
Сортировка

Strange ADD CHECK error message

От
"Christopher Kings-Lynne"
Дата:
I have noticed a strange error message when adding check constraints.
Basically the ADD CHECK below is failing because the field it is trying to
force to be NOT NULL already has NULL values in it.  However, the error
message it produces is quite cryptic and it took me a while to figure out
what was going on.

Is it still like this in 7.2b2, and should it be changed?

Chris

test=# select version();                          version
--------------------------------------------------------------PostgreSQL 7.1.3 on i386--freebsd4.2, compiled by GCC
2.95.2
(1 row)
test=# create table test (foo char(1) check (foo in ('M', 'V')));
CREATE
test=# insert into test values('M');
INSERT 2823326 1
test=# alter table test add column bar varchar(255);
ALTER
test=# alter table test add check (bar is not null);
ERROR:  AlterTableAddConstraint: rejected due to CHECK constraint <unnamed>



Re: Strange ADD CHECK error message

От
Stephan Szabo
Дата:
On Thu, 15 Nov 2001, Christopher Kings-Lynne wrote:

> I have noticed a strange error message when adding check constraints.
> Basically the ADD CHECK below is failing because the field it is trying to
> force to be NOT NULL already has NULL values in it.  However, the error
> message it produces is quite cryptic and it took me a while to figure out
> what was going on.
>
> Is it still like this in 7.2b2, and should it be changed?

Pretty sure and possibly.  In general, the message is currently
based on the same template as the error you get if you were to
fail it later.  I don't have a good phrase to replace it with,
but a more descriptive message would probably be good.