[
https://issues.jboss.org/browse/TEIID-3937?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-3937:
---------------------------------------
If you tell me how you call I may be able to see how it comes back.
We are using DatabaseMetaData.getDatabaseProductVersion() from Connection.getMetaData()
Issue is the same with DECIMAL data type.
Decimal and BigDecimal are synonymous for Teiid.
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 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)