You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ji...@apache.org on 2022/06/28 08:46:16 UTC
[flink] branch master updated: [FLINK-27304][hive] Calcite's varbinary type should be converted to Hive's binary type.
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 <lu...@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");