Repository: hive
Updated Branches:
  refs/heads/branch-2 43f1d7791 -> 812e78956


HIVE-14389: Beeline should not output query and prompt to stdout (Vihang 
Karajgaonkar, reviewed by Peter Vary, Thejas M Nair and Yongzhi Chen)


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

Branch: refs/heads/branch-2
Commit: 812e789565d0ad3699d086232c5d4dbc0e87a336
Parents: 43f1d77
Author: Yongzhi Chen <[email protected]>
Authored: Fri May 12 14:10:10 2017 -0400
Committer: Yongzhi Chen <[email protected]>
Committed: Fri May 12 14:27:46 2017 -0400

----------------------------------------------------------------------
 .../src/java/org/apache/hive/beeline/BeeLine.java   |  9 +++++++--
 .../org/apache/hive/beeline/cli/TestHiveCli.java    |  8 ++++----
 .../apache/hive/beeline/TestBeeLineWithArgs.java    | 16 +++++++++++-----
 3 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/812e7895/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java 
b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index 11526a7..4090897 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -138,6 +138,7 @@ public class BeeLine implements Closeable {
   private OutputFile recordOutputFile = null;
   private PrintStream outputStream = new PrintStream(System.out, true);
   private PrintStream errorStream = new PrintStream(System.err, true);
+  private InputStream inputStream = System.in;
   private ConsoleReader consoleReader;
   private List<String> batch = null;
   private final Reflector reflector = new Reflector(this);
@@ -1216,10 +1217,10 @@ public class BeeLine implements Closeable {
       // by appending a newline to the end of inputstream
       InputStream inputStreamAppendedNewline = new 
SequenceInputStream(inputStream,
           new ByteArrayInputStream((new String("\n")).getBytes()));
-      consoleReader = new ConsoleReader(inputStreamAppendedNewline, 
getOutputStream());
+      consoleReader = new ConsoleReader(inputStreamAppendedNewline, 
getErrorStream());
       consoleReader.setCopyPasteDetection(true); // jline will detect if <tab> 
is regular character
     } else {
-      consoleReader = new ConsoleReader();
+      consoleReader = new ConsoleReader(getInputStream(), getErrorStream());
     }
 
     //disable the expandEvents for the purpose of backward compatibility
@@ -2348,6 +2349,10 @@ public class BeeLine implements Closeable {
     return errorStream;
   }
 
+  InputStream getInputStream() {
+    return inputStream;
+  }
+
   ConsoleReader getConsoleReader() {
     return consoleReader;
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/812e7895/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java 
b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
index d306e29..8eaa683 100644
--- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
+++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java
@@ -112,7 +112,7 @@ public class TestHiveCli {
 
   @Test
   public void testSetPromptValue() {
-    verifyCMD("set hive.cli.prompt=MYCLI;SHOW\nTABLES;", "MYCLI> ", os, null,
+    verifyCMD("set hive.cli.prompt=MYCLI;SHOW\nTABLES;", "MYCLI> ", errS, null,
         ERRNO_OK, true);
   }
 
@@ -213,21 +213,21 @@ public class TestHiveCli {
   public void testUseCurrentDB1() {
     verifyCMD(
         "create database if not exists testDB; set 
hive.cli.print.current.db=true;use testDB;\n"
-            + "use default;drop if exists testDB;", "hive (testDB)>", os, 
null, ERRNO_OTHER, true);
+            + "use default;drop if exists testDB;", "hive (testDB)>", errS, 
null, ERRNO_OTHER, true);
   }
 
   @Test
   public void testUseCurrentDB2() {
     verifyCMD(
         "create database if not exists testDB; set 
hive.cli.print.current.db=true;use\ntestDB;\nuse default;drop if exists 
testDB;",
-        "hive (testDB)>", os, null, ERRNO_OTHER, true);
+        "hive (testDB)>", errS, null, ERRNO_OTHER, true);
   }
 
   @Test
   public void testUseCurrentDB3() {
     verifyCMD(
         "create database if not exists testDB; set 
hive.cli.print.current.db=true;use  testDB;\n"
-            + "use default;drop if exists testDB;", "hive (testDB)>", os, 
null, ERRNO_OTHER, true);
+            + "use default;drop if exists testDB;", "hive (testDB)>", errS, 
null, ERRNO_OTHER, true);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/hive/blob/812e7895/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java
----------------------------------------------------------------------
diff --git 
a/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java
 
b/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java
index 75f46ec..983db48 100644
--- 
a/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java
+++ 
b/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java
@@ -439,7 +439,8 @@ public class TestBeeLineWithArgs {
     final String SCRIPT_TEXT = "CREATE\tTABLE IF NOT EXISTS 
testTabInScriptFile\n(id\tint);\nSHOW TABLES;"
         + "\ndrop table testTabInScriptFile";
     final String EXPECTED_PATTERN = "testTabInScriptFile";
-    testScriptFile(SCRIPT_TEXT, argList, EXPECTED_PATTERN, true);
+    testScriptFile(SCRIPT_TEXT, argList, OutStream.ERR, EXPECTED_PATTERN, 
true);
+    testScriptFile(SCRIPT_TEXT, argList, OutStream.OUT, EXPECTED_PATTERN, 
false);
   }
 
   @Test
@@ -482,7 +483,7 @@ public class TestBeeLineWithArgs {
   public void testGetVariableValue() throws Throwable {
     final String SCRIPT_TEXT = "set env:TERM;";
     final String EXPECTED_PATTERN = "env:TERM";
-    testScriptFile(SCRIPT_TEXT, getBaseArgs(miniHS2.getBaseJdbcURL()), 
EXPECTED_PATTERN, true);
+    testScriptFile(SCRIPT_TEXT, getBaseArgs(miniHS2.getBaseJdbcURL()), 
OutStream.ERR, EXPECTED_PATTERN, true);
   }
 
   /**
@@ -1002,10 +1003,15 @@ public class TestBeeLineWithArgs {
   @Test
   public void testQueryNonEscapedSemiColon() throws Throwable {
     String SCRIPT_TEXT = "drop table if exists nonEscapedSemiColon;create 
table nonEscapedSemiColon "
-        + "(key int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ';';show 
tables;";
-    final String EXPECTED_PATTERN = " nonEscapedSemiColon ";
+        + "(key int, value int) ROW FORMAT DELIMITED FIELDS TERMINATED BY 
';';show tables;";
+    String EXPECTED_PATTERN = "nonescapedsemicolon";
     List<String> argList = getBaseArgs(miniHS2.getBaseJdbcURL());
     testScriptFile(SCRIPT_TEXT, argList, EXPECTED_PATTERN, true);
+    //look for the " nonEscapedSemiColon " in the query text not the table 
name which comes
+    //in the result
+    EXPECTED_PATTERN = " nonEscapedSemiColon ";
+    testScriptFile(SCRIPT_TEXT, argList, OutStream.ERR, EXPECTED_PATTERN, 
true);
+    testScriptFile(SCRIPT_TEXT, argList, OutStream.OUT, EXPECTED_PATTERN, 
false);
   }
 
   @Test
@@ -1032,7 +1038,7 @@ public class TestBeeLineWithArgs {
     argList.add(miniHS2.getBaseJdbcURL() + ";user=hivetest;password=hive");
     String SCRIPT_TEXT = "select current_user();";
 
-    testScriptFile(SCRIPT_TEXT, argList, EXPECTED_PATTERN, true);
+    testScriptFile(SCRIPT_TEXT, argList, OutStream.ERR, EXPECTED_PATTERN, 
true);
   }
 
   @Test

Reply via email to