From e2651b8a615baaec5d8ca36bb84b9f9ae4f1c3a4 Mon Sep 17 00:00:00 2001 From: nareshpr Date: Mon, 11 Dec 2017 12:31:38 +0530 Subject: [PATCH] [HIVE-18112] show create for view having special char in where clause is not showing properly --- .../java/org/apache/hadoop/hive/ql/exec/DDLTask.java | 4 ++-- ql/src/test/queries/clientpositive/showcreateview.q | 2 ++ .../test/results/clientpositive/showcreateview.q.out | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 ql/src/test/queries/clientpositive/showcreateview.q create mode 100644 ql/src/test/results/clientpositive/showcreateview.q.out diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index 76abc62..4c068a4 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -2186,7 +2186,7 @@ private int showCreateTable(Hive db, DataOutputStream outStream, String tableNam if (tbl.isView()) { String createTab_stmt = "CREATE VIEW `" + tableName + "` AS " + tbl.getViewExpandedText(); - outStream.writeBytes(createTab_stmt.toString()); + outStream.write(createTab_stmt.getBytes("UTF-8")); return 0; } @@ -2352,7 +2352,7 @@ else if (sortCol.getOrder() == BaseSemanticAnalyzer.HIVE_COLUMN_ORDER_DESC) { } createTab_stmt.add(TBL_PROPERTIES, tbl_properties); - outStream.writeBytes(createTab_stmt.render()); + outStream.write(createTab_stmt.render().getBytes("UTF-8")); } catch (IOException e) { LOG.info("show create table: " + stringifyException(e)); return 1; diff --git a/ql/src/test/queries/clientpositive/showcreateview.q b/ql/src/test/queries/clientpositive/showcreateview.q new file mode 100644 index 0000000..bfe6914 --- /dev/null +++ b/ql/src/test/queries/clientpositive/showcreateview.q @@ -0,0 +1,2 @@ +CREATE VIEW ViewWithSpecialChars AS SELECT key FROM src where key = 'abcÖdefÖgh'; +SHOW CREATE TABLE ViewWithSpecialChars; diff --git a/ql/src/test/results/clientpositive/showcreateview.q.out b/ql/src/test/results/clientpositive/showcreateview.q.out new file mode 100644 index 0000000..e4d7d62 --- /dev/null +++ b/ql/src/test/results/clientpositive/showcreateview.q.out @@ -0,0 +1,18 @@ +PREHOOK: query: CREATE VIEW ViewWithSpecialChars AS SELECT key FROM src where key = 'abcÖdefÖgh' +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@src +PREHOOK: Output: database:default +PREHOOK: Output: default@ViewWithSpecialChars +POSTHOOK: query: CREATE VIEW ViewWithSpecialChars AS SELECT key FROM src where key = 'abcÖdefÖgh' +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@src +POSTHOOK: Output: database:default +POSTHOOK: Output: default@ViewWithSpecialChars +POSTHOOK: Lineage: ViewWithSpecialChars.key SIMPLE [] +PREHOOK: query: SHOW CREATE TABLE ViewWithSpecialChars +PREHOOK: type: SHOW_CREATETABLE +PREHOOK: Input: default@viewwithspecialchars +POSTHOOK: query: SHOW CREATE TABLE ViewWithSpecialChars +POSTHOOK: type: SHOW_CREATETABLE +POSTHOOK: Input: default@viewwithspecialchars +CREATE VIEW `ViewWithSpecialChars` AS SELECT `src`.`key` FROM `default`.`src` where `src`.`key` = 'abcÖdefÖgh' -- 2.10.1