You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pv...@apache.org on 2017/07/28 09:04:59 UTC

hive git commit: HIVE-17050: Multiline queries that have comment in middle fail when executed via "beeline -e" (Yibing Shi reviewed by Yongzhi Chen and Peter Vary)

Repository: hive
Updated Branches:
  refs/heads/master 52a64f14d -> 705979e68


HIVE-17050: Multiline queries that have comment in middle fail when executed via "beeline -e" (Yibing Shi reviewed by Yongzhi Chen and Peter Vary)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/705979e6
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/705979e6
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/705979e6

Branch: refs/heads/master
Commit: 705979e687bda7c21ae80e8c169acaf48a7239d5
Parents: 52a64f1
Author: Peter Vary <pv...@cloudera.com>
Authored: Fri Jul 28 11:03:11 2017 +0200
Committer: Peter Vary <pv...@cloudera.com>
Committed: Fri Jul 28 11:03:11 2017 +0200

----------------------------------------------------------------------
 .../apache/hive/common/util/HiveStringUtils.java   | 10 +++++++---
 .../test/queries/clientpositive/cmdwithcomments.q  |  2 ++
 .../results/clientpositive/cmdwithcomments.q.out   | 17 ++++++++++++++---
 3 files changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/705979e6/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
index 71d11bd..aac3a53 100644
--- a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
+++ b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java
@@ -1117,10 +1117,13 @@ public class HiveStringUtils {
       return "";  //assume # can only be used at the beginning of line.
     }
     StringBuilder builder = new StringBuilder();
-    for (int index = 0; index < line.length(); index++) {
+    for (int index = 0; index < line.length();) {
       if (startQuote[0] == -1 && index < line.length() - 1 && line.charAt(index) == '-'
           && line.charAt(index + 1) == '-') {
-        return builder.toString().trim();
+        // Jump to the end of current line. When a multiple line query is executed with -e parameter,
+        // it is passed in as one line string separated with '\n'
+        for (; index < line.length() && line.charAt(index) != '\n'; ++index);
+        continue;
       }
 
       char letter = line.charAt(index);
@@ -1132,9 +1135,10 @@ public class HiveStringUtils {
       }
 
       builder.append(letter);
+      index++;
     }
 
-    return builder.toString();
+    return builder.toString().trim();
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hive/blob/705979e6/ql/src/test/queries/clientpositive/cmdwithcomments.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/cmdwithcomments.q b/ql/src/test/queries/clientpositive/cmdwithcomments.q
index e9c0d43..4c2963e 100644
--- a/ql/src/test/queries/clientpositive/cmdwithcomments.q
+++ b/ql/src/test/queries/clientpositive/cmdwithcomments.q
@@ -10,4 +10,6 @@ limit 1;
 --comment7
 select "this is
 another --string value" from numt where idx =2; --comment8
+select 1, --comment
+2;
 drop table numt;

http://git-wip-us.apache.org/repos/asf/hive/blob/705979e6/ql/src/test/results/clientpositive/cmdwithcomments.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cmdwithcomments.q.out b/ql/src/test/results/clientpositive/cmdwithcomments.q.out
index 93c9431..151a82c 100644
--- a/ql/src/test/results/clientpositive/cmdwithcomments.q.out
+++ b/ql/src/test/results/clientpositive/cmdwithcomments.q.out
@@ -63,12 +63,23 @@ POSTHOOK: Input: default@numt
 this is
 another --string value
 PREHOOK: query: --comment8
-drop table numt
+select 1, --comment
+2
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+POSTHOOK: query: --comment8
+select 1, --comment
+2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+#### A masked pattern was here ####
+1	2
+PREHOOK: query: drop table numt
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@numt
 PREHOOK: Output: default@numt
-POSTHOOK: query: --comment8
-drop table numt
+POSTHOOK: query: drop table numt
 POSTHOOK: type: DROPTABLE
 POSTHOOK: Input: default@numt
 POSTHOOK: Output: default@numt