You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Radu Radutiu <rr...@gmail.com> on 2006/10/16 14:47:32 UTC

UNION (ALL) contraint violation problem

Hi,
The following simple test case gives an error:

create table a (f1 varchar(10));
create table b (f2 varchar(10));
insert into b values('test');
select  nullif('x','x') as f0, f1 from a
    union all
    select  nullif('x','x') as f0,  nullif('x','x') as f1 from b;

ERROR 23502: Column 'F0'  cannot accept a NULL value.
SQLState(23502) vendor code(30000)

However the following works ok:
drop table a;
drop table b;
create table a (f1 int);
create table b (f2 int);
insert into b values(1);
select  nullif('x','x') as f0, f1 from a
    union all
    select  nullif('x','x') as f0, nullif(1,1) as f1 from b;

The test case is a simplification of a query generated by Hibernate
with the table per class inheritance strategy. Both queries work ok on
MSSQL and PostgreSQL. On Derby only the second query works, the first
one giving a contraint violation.
Tested on derby v10.1.3.1 and v10.2.1.6 on linux, jdk  1.5.0_06-b05
and jdk  1.6.0-rc-b99.

Is it a known problem or should I open an issue? I could not find
something similar in JIRA.

Regards,

Radu

Re: UNION (ALL) contraint violation problem

Posted by Stanley Bradbury <St...@gmail.com>.
Radu Radutiu wrote:
> Hi,
> The following simple test case gives an error:
>
> create table a (f1 varchar(10));
> create table b (f2 varchar(10));
> insert into b values('test');
> select  nullif('x','x') as f0, f1 from a
>    union all
>    select  nullif('x','x') as f0,  nullif('x','x') as f1 from b;
>
> ERROR 23502: Column 'F0'  cannot accept a NULL value.
> SQLState(23502) vendor code(30000)
>
> However the following works ok:
> drop table a;
> drop table b;
> create table a (f1 int);
> create table b (f2 int);
> insert into b values(1);
> select  nullif('x','x') as f0, f1 from a
>    union all
>    select  nullif('x','x') as f0, nullif(1,1) as f1 from b;
>
> The test case is a simplification of a query generated by Hibernate
> with the table per class inheritance strategy. Both queries work ok on
> MSSQL and PostgreSQL. On Derby only the second query works, the first
> one giving a contraint violation.
> Tested on derby v10.1.3.1 and v10.2.1.6 on linux, jdk  1.5.0_06-b05
> and jdk  1.6.0-rc-b99.
>
> Is it a known problem or should I open an issue? I could not find
> something similar in JIRA.
>
> Regards,
>
> Radu
>
Please do file a JIRA issue on this so the development groups becomes 
aware of and can comment on this issue.