[
https://issues.apache.org/jira/browse/CALCITE-1829?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde resolved CALCITE-1829.
----------------------------------
Resolution: Fixed
Fix Version/s: 1.13.0
> Add TIME/TIMESTAMP/DATE datatype handling to RexImplicationChecker
> ------------------------------------------------------------------
>
> Key: CALCITE-1829
> URL: https://issues.apache.org/jira/browse/CALCITE-1829
> Project: Calcite
> Issue Type: Bug
> Reporter: MinJi Kim
> Assignee: Julian Hyde
> Fix For: 1.13.0
>
>
> In RexImplicationChecker, we support a lot of operators and types, but it
> looks like time/timestamp/date datatypes are not supported. For example:
> {code}
> select hiredate from emp where hiredate IN [TIMESTAMP '2017-01-01 10:11:12',
> TIMESTAMP '2015-01-01 10:11:12']
> {code}
> should imply
> {code}
> select hiredate from emp where hiredate <= TIMESTAMP '2017-12-01 01:02:03'
> {code}
> since both timestamps in the first query's filter condition is stronger than
> the second query's filter condition.
> In RexImplicationCheckerTest, there are tests for each of the aforementioned
> datatypes, but are disabled.
> {code}
> RexImplicationCheckerTest.testSimpleDate
> RexImplicationCheckerTest.testSimpleTime
> RexImplicationCheckerTest.testSimpleTimestamp
> {code}
> Running these ignored tests, I get the following error messages.
> {code}
> 2017-06-02 17:13:10,028 [main] WARN - Exception thrown while checking if =>
> >=($8, 2017-06-03): java.sql.Date cannot be cast to java.lang.Integer
> 2017-06-02 17:13:10,075 [main] WARN - Exception thrown while checking if =>
> <=($9, 00:13:10): java.util.GregorianCalendar cannot be cast to java.lang.Long
> 2017-06-02 17:13:10,100 [main] WARN - Exception thrown while checking if =>
> <=($9, 2017-06-03 00:13:10): java.util.GregorianCalendar cannot be cast to
> java.lang.Long
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)