[
https://issues.jboss.org/browse/TEIID-3937?page=com.atlassian.jira.plugin...
]
Steven Hawkins resolved TEIID-3937.
-----------------------------------
Fix Version/s: 9.0
Resolution: Done
This is now addressed in 9.0
It's not very straightforward, for what that may be worth, even
using the overridden settings.xml
Can you describe in more detail what you are seeing (ideally in a forum post) so that we
can get that captured / addressed?
Multiplying two columns in CASE statement overrides pushdown
(Impala)
---------------------------------------------------------------------
Key: TEIID-3937
URL:
https://issues.jboss.org/browse/TEIID-3937
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 8.12.4
Environment: Ubuntu Trusty
Reporter: Don Krapohl
Assignee: Steven Hawkins
Fix For: 9.0
In the Impala translator, pushdown doesn't happen when two columns are multiplied in
the THEN portion of a CASE statement with decimal data type.
//this should push down but does not
CASE WHEN column1 IS NOT NULL
THEN column1 * column2
ELSE column3 END
//but you can multiply the columns by a constant and it will push down
CASE WHEN column1 IS NOT NULL
THEN column1 * 34567
ELSE column3 END
//or
CASE WHEN column1 IS NOT NULL
THEN 34567 * column2
ELSE column3 END
//or casting to consistent datatypes with DECIMAL output
CASE WHEN column1 IS NOT NULL
THEN cast(column1 as DECIMAL ) * cast(column2 as DECIMAL )
ELSE cast(column3 as DECIMAL ) END
//BUT output it as double with the cast statement above changed and it does push down (so
floating point works)
CASE WHEN column1 IS NOT NULL
THEN cast(column1 as double ) * cast(column2 as double)
ELSE cast(column3 as double) END
Source data types:
Column1 is DECIMAL
Column2 is BIGINT/LONG
Column3 is DECIMAL
Output column is DECIMAL
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)