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.