db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Nielsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2167) Slightly misleading error message for UNIQUE constraint without NOT NULL constraint
Date Thu, 21 Jun 2007 12:21:26 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506865
] 

Thomas Nielsen commented on DERBY-2167:
---------------------------------------

When running suites.All on a proposed fix in my sandbox, I see errorcode 42831 returned from
a ALTER TABLE statement as well:

alter table a add constraint ap1 primary key(a1, a2, a3);
ERROR 42831: 'A1' cannot be a column of a unique key because it can contain null values.

In this case the original errormsg actually makes sense, while the changed message does not.
Either the existing errormsg should prevail, or this should become two spearate errorcodes;
one for ALTER TABLE ADD CONSTRAINT ... and one for CREATE TABLE (... UNIQUE) as Bernt originally
reported.

> Slightly misleading error message for UNIQUE constraint without NOT NULL constraint
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-2167
>                 URL: https://issues.apache.org/jira/browse/DERBY-2167
>             Project: Derby
>          Issue Type: Bug
>          Components: Miscellaneous, Newcomer
>            Reporter: Bernt M. Johnsen
>            Assignee: Thomas Nielsen
>            Priority: Trivial
>
> With UNIQUE contraint, you get an error message which indicates you also need explicit
NOT NULL constraint for PRIMARY KEY constraint, which is not true . NOT NULL is implicit for
PRIMARY KEY (or more precise according to the lingo in the SQL standard: PRIMARY KEY is an
alternative syntax for UNIQUE NOT NULL)
> ij> create table t1 (i integer unique);
> ERROR 42831: 'I' cannot be a column of a primary key or unique key because it can contain
null values.
> ij> create table t2 (i integer unique not null);
> 0 rows inserted/updated/deleted
> ij> create table t3 (i integer primary key);
> 0 rows inserted/updated/deleted
> ij> create table t4 (i integer primary key not null);
> 0 rows inserted/updated/deleted

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message