Legolas Woodland reported on derby-user that derby return errors like :
'SQL060103004635123' and 'SQL060103004635121' have the same set of
columns, which is not allowed.
He got this when creating a table like this:
create table WEBSITES (USERID integer not null unique, WEBSITEID
bigint not null unique, DOMAINNAME varchar(255) not null unique,
DESCRIPTION varchar(255), PPVIEW double, PPCLICK double, PPWEEK
double, totalClick bigint, totalView bigint, active smallint, primary
Omitting the unique specifier made things work.
I think this is a usability issue. At least, one should not present names to the user, that has been generated internally. Instead, it would be helpful if the names of the columns involved was mentioned. I see two ways to solve this:
1. Return error that says that duplicate contraints on the following columns are not allowed.
2. Allow this and use same index for both constraints. (I guess dropping constraints will be more complicated in this case since one will have to check if other constraints are using the same index.)