This is an automated email from the ASF dual-hosted git repository. jingzhang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push: new 6f7c273be14 [FLINK-27304][hive] Calcite's varbinary type should be converted to Hive's binary type. 6f7c273be14 is described below commit 6f7c273be147f6acb4443103d91e5299ef6696ef Author: luoyuxia <luoyu...@alibaba-inc.com> AuthorDate: Sun Apr 24 19:45:38 2022 +0800 [FLINK-27304][hive] Calcite's varbinary type should be converted to Hive's binary type. This closes #19562 --- .../table/planner/delegation/hive/copy/HiveParserTypeConverter.java | 3 ++- .../org/apache/flink/connectors/hive/HiveDialectQueryITCase.java | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserTypeConverter.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserTypeConverter.java index caa8df47a21..fac4d4b9022 100644 --- a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserTypeConverter.java +++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserTypeConverter.java @@ -148,7 +148,7 @@ public class HiveParserTypeConverter { convertedType = dtFactory.createSqlType(SqlTypeName.TIMESTAMP, 9); break; case BINARY: - convertedType = dtFactory.createSqlType(SqlTypeName.BINARY); + convertedType = dtFactory.createSqlType(SqlTypeName.VARBINARY); break; case DECIMAL: DecimalTypeInfo dtInf = (DecimalTypeInfo) type; @@ -295,6 +295,7 @@ public class HiveParserTypeConverter { case INTERVAL_SECOND: return hiveShim.getIntervalDayTimeTypeInfo(); case BINARY: + case VARBINARY: return TypeInfoFactory.binaryTypeInfo; case DECIMAL: return TypeInfoFactory.getDecimalTypeInfo(rType.getPrecision(), rType.getScale()); diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectQueryITCase.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectQueryITCase.java index a41686bdd47..9365b6a25a6 100644 --- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectQueryITCase.java +++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectQueryITCase.java @@ -82,6 +82,8 @@ public class HiveDialectQueryITCase { tableEnv.executeSql("CREATE TABLE src (key STRING, value STRING)"); tableEnv.executeSql( "CREATE TABLE srcpart (key STRING, `value` STRING) PARTITIONED BY (ds STRING, hr STRING)"); + tableEnv.executeSql("create table binary_t (a int, ab array<binary>)"); + tableEnv.executeSql( "CREATE TABLE nested (\n" + " a int,\n" @@ -156,7 +158,8 @@ public class HiveDialectQueryITCase { + "(partition by dep order by salary desc) as rnk from employee) a where rnk=1", "select salary,sum(cnt) over (order by salary)/sum(cnt) over " + "(order by salary ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) from" - + " (select salary,count(*) as cnt from employee group by salary) a")); + + " (select salary,count(*) as cnt from employee group by salary) a", + "select a, one from binary_t lateral view explode(ab) abs as one where a > 0")); if (HiveVersionTestUtil.HIVE_230_OR_LATER) { toRun.add( "select weekofyear(current_timestamp()), dayofweek(current_timestamp()) from src limit 1");