From dc2026e0a1034d947dc9f5b3a7eec5286d4429c0 Mon Sep 17 00:00:00 2001 From: Jark Wu Date: Fri, 12 Aug 2016 17:48:23 +0800 Subject: [PATCH] [FLINK-4385] [table] Union on Timestamp fields does not work --- .../flink/api/table/plan/nodes/dataset/DataSetRel.scala | 5 ++++- .../apache/flink/api/table/typeutils/IntervalTypeInfo.scala | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/plan/nodes/dataset/DataSetRel.scala b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/plan/nodes/dataset/DataSetRel.scala index 08e0c418e2c2d..9ce1580064b19 100644 --- a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/plan/nodes/dataset/DataSetRel.scala +++ b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/plan/nodes/dataset/DataSetRel.scala @@ -62,7 +62,10 @@ trait DataSetRel extends RelNode with FlinkRel { case SqlTypeName.VARCHAR => s + 12 case SqlTypeName.CHAR => s + 1 case SqlTypeName.DECIMAL => s + 12 - case _ => throw new TableException("Unsupported data type encountered") + case SqlTypeName.INTERVAL_DAY_TIME => s + 8 + case SqlTypeName.INTERVAL_YEAR_MONTH => s + 4 + case SqlTypeName.TIME | SqlTypeName.TIMESTAMP | SqlTypeName.DATE => s + 12 + case _ => throw TableException(s"Unsupported data type encountered: $t") } } diff --git a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/typeutils/IntervalTypeInfo.scala b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/typeutils/IntervalTypeInfo.scala index 85524fb07329a..bf5cb58e77443 100644 --- a/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/typeutils/IntervalTypeInfo.scala +++ b/flink-libraries/flink-table/src/main/scala/org/apache/flink/api/table/typeutils/IntervalTypeInfo.scala @@ -97,7 +97,7 @@ object IntervalTypeInfo { ascendingOrder: java.lang.Boolean) : TypeComparator[X] = { try { - val constructor = comparatorClass.getConstructor(classOf[java.lang.Boolean]) + val constructor = comparatorClass.getConstructor(java.lang.Boolean.TYPE) constructor.newInstance(ascendingOrder) } catch { case e: Exception =>