Description
The following script demonstrates the issue.
drop table if exists t1 cascade;
drop table if exists t2 cascade;create table t1 (
t1_pk integer,
t1_na integer
);
insert into t1 values (1,1),(2,null);create table t2 (
t2_pk integer not null,
t2_na integer,
primary key (t2_pk)
);
insert into t2 values (2,null),(3,3);create table t3 (
t3_pk integer not null,
t3_na integer
);
insert into t3 values (2,null),(3,3);select t1_na, t2_pk from t1 left join t2 on t1_na = t2_pk and t1_na is null;
select t1_na, t3_pk from t1 left join t3 on t1_na = t3_pk and t1_na is null;
When run, we see this failure. This failure is due to the fix in TRAFODION-3270.
>>select t1_na, t2_pk from t1 left join t2 on t1_na = t2_pk and t1_na is null;
- ERROR[4099] A NULL operand is not allowed in predicate (TRAFODION.SEABASE.T2.T2_PK = NULL).
- ERROR[4099] A NULL operand is not allowed in predicate (TRAFODION.SEABASE.T2.T2_PK = NULL).
- ERROR[2006] Internal error: assertion failure (vdesc) in file ../optimizer/ValueDesc.cpp at line 118.
- ERROR[8822] The statement was not prepared.
>>
Attachments
Issue Links
- links to