Feng Zhu created CALCITE-3512:
---------------------------------
Summary: Support type cast from Time/TimeStamp to Integer/Long
Key: CALCITE-3512
URL: https://issues.apache.org/jira/browse/CALCITE-3512
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.21.0
Reporter: Feng Zhu
Assignee: Feng Zhu
A similar test like *ReflectiveSchemaTest#testDateCanCompare*
{code:java}
@Test public void testDateCanCompare2() {
final String sql = "select a.v1, a.v2\n"
+ "from (select \"sqlTime\" v1, \"sqlTimestamp\" v2\n"
+ " from \"s\".\"everyTypes\" "
+ " group by \"sqlTime\", \"sqlTimestamp\") a,"
+ " (select \"sqlTime\" v1, \"sqlTimestamp\" v2\n"
+ " from \"s\".\"everyTypes\"\n"
+ " group by \"sqlTime\", \"sqlTimestamp\") b\n"
+ "where a.v1 >= b.v1 and a.v2 >= b.v2\n"
+ "group by a.v1, a.v2";
CalciteAssert.that()
.withSchema("s", CATCHALL)
.query(sql)
.returnsUnordered("V1=00:00:00; V2=1970-01-01 00:00:00");
}{code}
The query fails with exception:
{code:java}
Caused by: java.lang.ClassCastException: java.sql.Time cannot be cast to
java.lang.Integer
at Baz$10$1.moveNext(Unknown Source)
at
org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(EnumerableDefaults.java:825)
at
org.apache.calcite.linq4j.EnumerableDefaults.groupBy(EnumerableDefaults.java:764)
at
org.apache.calcite.linq4j.DefaultEnumerable.groupBy(DefaultEnumerable.java:308)
at Baz.bind(Unknown Source){code}
We also need to support type cast from *Time/TimeStamp* to *Integer/Long*
--
This message was sent by Atlassian Jira
(v8.3.4#803005)