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 42fc0711e68 [FLINK-23995][hive] Fix bug of table name parser when using Hive dialect 42fc0711e68 is described below commit 42fc0711e683a09e32865a69ef69cc9bcd09b8f1 Author: yuxia Luo <luoyuxia.luoyu...@alibaba-inc.com> AuthorDate: Thu Aug 26 19:59:08 2021 +0800 [FLINK-23995][hive] Fix bug of table name parser when using Hive dialect This closes #16999 --- .../planner/delegation/hive/copy/HiveParserSemanticAnalyzer.java | 3 ++- .../java/org/apache/flink/connectors/hive/HiveDialectITCase.java | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserSemanticAnalyzer.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserSemanticAnalyzer.java index 11ea60d6eaf..591421dde7e 100644 --- a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserSemanticAnalyzer.java +++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/copy/HiveParserSemanticAnalyzer.java @@ -1151,7 +1151,8 @@ public class HiveParserSemanticAnalyzer { if (destination.getChildCount() == 2 && tab.getChildCount() == 2 && destination.getChild(1).getType() == HiveASTParser.TOK_IFNOTEXISTS) { - String name = tab.getChild(0).getChild(0).getText(); + String name = + getUnescapedName((HiveParserASTNode) tab.getChild(0)).toLowerCase(); Tree partitions = tab.getChild(1); int numChildren = partitions.getChildCount(); diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java index 9ca1dcc9eb8..babdd750b9d 100644 --- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java +++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java @@ -350,6 +350,14 @@ public class HiveDialectITCase { assertThat(results.toString()) .isEqualTo( "[+I[1, 0, static], +I[1, 1, a], +I[1, 2, b], +I[1, 3, c], +I[2, 0, static], +I[2, 1, b], +I[3, 0, static], +I[3, 1, c]]"); + tableEnv.executeSql( + "insert overwrite table default.dest2 partition (p1=1,p2='static') if not exists select x from src") + .await(); + results = queryResult(tableEnv.sqlQuery("select * from dest2 order by x,p1,p2")); + assertThat(results.toString()) + .isEqualTo( + "[+I[1, 0, static], +I[1, 1, a], +I[1, 1, static], +I[1, 2, b], +I[1, 3, c], +I[2, 0, static]," + + " +I[2, 1, b], +I[2, 1, static], +I[3, 0, static], +I[3, 1, c], +I[3, 1, static]]"); } @Test