[
https://issues.apache.org/jira/browse/IMPALA-8054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Greg Rahn updated IMPALA-8054:
------------------------------
Description:
In the following query the literal number 10 needs to be compared to two
different types: INT and FLOAT, but Impala fails to make the implicit cast for
the FLOAT.
The predicates should be
{noformat}
predicates: (cast(10 as float) >= col4) AND (10 <= col3)
{noformat}
*Test cases:*
{noformat}
sql> describe tab4
+------+--------+---------+
| name | type | comment |
+------+--------+---------+
| pk | int | |
| col0 | int | |
| col1 | float | |
| col2 | string | |
| col3 | int | |
| col4 | float | |
| col5 | string | |
+------+--------+---------+
sql> SELECT col0 FROM tab4 WHERE 10 BETWEEN col4 AND col3;
ERROR: IllegalStateException: child 0 type: FLOAT child 1 type: DOUBLE
sql> SELECT * FROM tab4 WHERE NULL NOT BETWEEN col3 AND col1;
ERROR: IllegalStateException: child 0 type: INT child 1 type: DOUBLE
{noformat}
was:
In the following query the literal number 10 needs to be compared to two
different types: INT and FLOAT, but Impala fails to make the implicit cast for
the FLOAT.
The predicates should be
{noformat}
predicates: (cast(10 as float) >= col4) AND (10 <= col3)
{noformat}
*Test case:*
{noformat}
sql> describe tab4
+------+--------+---------+
| name | type | comment |
+------+--------+---------+
| pk | int | |
| col0 | int | |
| col1 | float | |
| col2 | string | |
| col3 | int | |
| col4 | float | |
| col5 | string | |
+------+--------+---------+
sql> SELECT col0 FROM tab4 WHERE 10 BETWEEN col4 AND col3;
ERROR: IllegalStateException: child 0 type: FLOAT child 1 type: DOUBLE
{noformat}
> Implicit cast fails with {const INT} BETWEEN FLOAT and INT
> ----------------------------------------------------------
>
> Key: IMPALA-8054
> URL: https://issues.apache.org/jira/browse/IMPALA-8054
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 3.2.0
> Reporter: Greg Rahn
> Assignee: Paul Rogers
> Priority: Major
>
> In the following query the literal number 10 needs to be compared to two
> different types: INT and FLOAT, but Impala fails to make the implicit cast
> for the FLOAT.
> The predicates should be
> {noformat}
> predicates: (cast(10 as float) >= col4) AND (10 <= col3)
> {noformat}
> *Test cases:*
> {noformat}
> sql> describe tab4
> +------+--------+---------+
> | name | type | comment |
> +------+--------+---------+
> | pk | int | |
> | col0 | int | |
> | col1 | float | |
> | col2 | string | |
> | col3 | int | |
> | col4 | float | |
> | col5 | string | |
> +------+--------+---------+
> sql> SELECT col0 FROM tab4 WHERE 10 BETWEEN col4 AND col3;
> ERROR: IllegalStateException: child 0 type: FLOAT child 1 type: DOUBLE
> sql> SELECT * FROM tab4 WHERE NULL NOT BETWEEN col3 AND col1;
> ERROR: IllegalStateException: child 0 type: INT child 1 type: DOUBLE
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]