Possible 'internal server error' for prepared statements with complex parameter type

Details

Detail name Value
Changelog Number 6464
Type Bug
Status Resolved
Affected Versions EXASOL 6.0.0, EXASOL 6.0.10
Fix Versions Exasol 6.0.12
Resolution Date 2018-08-01

Feature

For prepared statements using parameters, Exasol tries to suggest parameter types based on usage and metadata.

Problem

The type determination algorithm doesn't work always correctly and in some cases may cause an 'internal server error'. This is the case especially when such a type may be determined by multiple expressions, as in the following example containing UNION ALL:

drop schema s1 cascade;
create schema s1;

create table u1(
a1 varchar(100)
);

create table u2(
a2 varchar(100)
);


create view v1 as 
 select 
 a1 x
 from u1 
 union all
 select 
 a2 || 'a string' x --expression in union all cause 'internal server error' later
 from u2 
;
create view v2 as select x from v1 where 1=1;

Following prepared statement aborts in the prepare phase:

select x from s1.v2 where x in (?, ?);

Workaround

The feature was introduced with Exasol 6 and can be disabled; please contact support if you are affected.