You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tw...@apache.org on 2019/05/09 12:36:27 UTC

[flink] 05/06: [hotfix][table-common] Allow boxed conversions when primitive types are allowed

This is an automated email from the ASF dual-hosted git repository.

twalthr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 7bf92f723c7e5834abffedfd900f2cac4325f13f
Author: Timo Walther <tw...@apache.org>
AuthorDate: Wed May 8 11:12:33 2019 +0200

    [hotfix][table-common] Allow boxed conversions when primitive types are allowed
---
 .../main/java/org/apache/flink/table/types/logical/DateType.java    | 4 +++-
 .../org/apache/flink/table/types/logical/DayTimeIntervalType.java   | 6 +++++-
 .../apache/flink/table/types/logical/LocalZonedTimestampType.java   | 6 +++++-
 .../main/java/org/apache/flink/table/types/logical/TimeType.java    | 6 +++++-
 .../org/apache/flink/table/types/logical/YearMonthIntervalType.java | 6 +++++-
 5 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DateType.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DateType.java
index 6c81a71..fbab0f8 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DateType.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DateType.java
@@ -39,11 +39,13 @@ public final class DateType extends LogicalType {
 
 	private static final Set<String> NULL_OUTPUT_CONVERSION = conversionSet(
 		java.sql.Date.class.getName(),
-		java.time.LocalDate.class.getName());
+		java.time.LocalDate.class.getName(),
+		Integer.class.getName());
 
 	private static final Set<String> NOT_NULL_INPUT_OUTPUT_CONVERSION = conversionSet(
 		java.sql.Date.class.getName(),
 		java.time.LocalDate.class.getName(),
+		Integer.class.getName(),
 		int.class.getName());
 
 	private static final Class<?> DEFAULT_CONVERSION = java.time.LocalDate.class;
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DayTimeIntervalType.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DayTimeIntervalType.java
index 56656ef..a9eb21c 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DayTimeIntervalType.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/DayTimeIntervalType.java
@@ -50,6 +50,8 @@ import java.util.Set;
  * default. If no {@code p2} is specified, it is equal to 6 by default.
  *
  * <p>A conversion from and to {@code long} describes the number of milliseconds.
+ *
+ * @see YearMonthIntervalType
  */
 @PublicEvolving
 public final class DayTimeIntervalType extends LogicalType {
@@ -87,10 +89,12 @@ public final class DayTimeIntervalType extends LogicalType {
 	private static final String SECOND_FORMAT = "INTERVAL SECOND(%2$d)";
 
 	private static final Set<String> NULL_OUTPUT_CONVERSION = conversionSet(
-		java.time.Duration.class.getName());
+		java.time.Duration.class.getName(),
+		Long.class.getName());
 
 	private static final Set<String> NOT_NULL_INPUT_OUTPUT_CONVERSION = conversionSet(
 		java.time.Duration.class.getName(),
+		Long.class.getName(),
 		long.class.getName());
 
 	private static final Class<?> DEFAULT_CONVERSION = java.time.Duration.class;
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/LocalZonedTimestampType.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/LocalZonedTimestampType.java
index 3c7d39f..8352d47 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/LocalZonedTimestampType.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/LocalZonedTimestampType.java
@@ -62,11 +62,15 @@ public final class LocalZonedTimestampType extends LogicalType {
 	private static final String FORMAT = "TIMESTAMP(%d) WITH LOCAL TIME ZONE";
 
 	private static final Set<String> NULL_OUTPUT_CONVERSION = conversionSet(
-		java.time.Instant.class.getName());
+		java.time.Instant.class.getName(),
+		Integer.class.getName(),
+		Long.class.getName());
 
 	private static final Set<String> NOT_NULL_INPUT_OUTPUT_CONVERSION = conversionSet(
 		java.time.Instant.class.getName(),
+		Integer.class.getName(),
 		int.class.getName(),
+		Long.class.getName(),
 		long.class.getName());
 
 	private static final Class<?> DEFAULT_CONVERSION = java.time.Instant.class;
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/TimeType.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/TimeType.java
index 3e8e7c1..f55ddf3 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/TimeType.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/TimeType.java
@@ -53,12 +53,16 @@ public final class TimeType extends LogicalType {
 
 	private static final Set<String> NULL_OUTPUT_CONVERSION = conversionSet(
 		java.sql.Time.class.getName(),
-		java.time.LocalTime.class.getName());
+		java.time.LocalTime.class.getName(),
+		Integer.class.getName(),
+		Long.class.getName());
 
 	private static final Set<String> NOT_NULL_INPUT_OUTPUT_CONVERSION = conversionSet(
 		java.sql.Time.class.getName(),
 		java.time.LocalTime.class.getName(),
+		Integer.class.getName(),
 		int.class.getName(),
+		Long.class.getName(),
 		long.class.getName());
 
 	private static final Class<?> DEFAULT_CONVERSION = java.time.LocalTime.class;
diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/YearMonthIntervalType.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/YearMonthIntervalType.java
index c28f920..8891398 100644
--- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/YearMonthIntervalType.java
+++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/logical/YearMonthIntervalType.java
@@ -43,6 +43,8 @@ import java.util.Set;
  *
  * <p>A conversion from and to {@code int} describes the number of months. A conversion from
  * {@link java.time.Period} ignores the {@code days} part.
+ *
+ * @see DayTimeIntervalType
  */
 @PublicEvolving
 public final class YearMonthIntervalType extends LogicalType {
@@ -60,10 +62,12 @@ public final class YearMonthIntervalType extends LogicalType {
 	private static final String MONTH_FORMAT = "INTERVAL MONTH";
 
 	private static final Set<String> NULL_OUTPUT_CONVERSION = conversionSet(
-		java.time.Period.class.getName());
+		java.time.Period.class.getName(),
+		Integer.class.getName());
 
 	private static final Set<String> NOT_NULL_INPUT_OUTPUT_CONVERSION = conversionSet(
 		java.time.Period.class.getName(),
+		Integer.class.getName(),
 		int.class.getName());
 
 	private static final Class<?> DEFAULT_CONVERSION = java.time.Period.class;