[
https://issues.jboss.org/browse/TEIID-3937?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-3937:
---------------------------------------
We don't have a type mapping for bigdecimal unless impala reports version 2 or
greater. What version of impala are you using?
If it's an older version of impala we could add an option to map bigdecimal to
double.
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
In the Impala translator, pushdown doesn't happen when two columns are multiplied in
the THEN portion of a CASE statement with bigdecimal 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 BIGDECIMAL output
CASE WHEN column1 IS NOT NULL
THEN cast(column1 as BIGDECIMAL ) * cast(column2 as BIGDECIMAL )
ELSE cast(column3 as BIGDECIMAL ) 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 BIGDECIMAL
Column2 is BIGINT/LONG
Column3 is BIGDECIMAL
Output column is BIGDECIMAL
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)