Return-Path: X-Original-To: apmail-hive-commits-archive@www.apache.org Delivered-To: apmail-hive-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3EECB17473 for ; Mon, 4 May 2015 00:13:26 +0000 (UTC) Received: (qmail 92804 invoked by uid 500); 4 May 2015 00:13:26 -0000 Delivered-To: apmail-hive-commits-archive@hive.apache.org Received: (qmail 92755 invoked by uid 500); 4 May 2015 00:13:26 -0000 Mailing-List: contact commits-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hive-dev@hive.apache.org Delivered-To: mailing list commits@hive.apache.org Received: (qmail 92744 invoked by uid 99); 4 May 2015 00:13:26 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 May 2015 00:13:26 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id AA3F9DFEFB; Mon, 4 May 2015 00:13:25 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: szehon@apache.org To: commits@hive.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: hive git commit: HIVE-10541 : Beeline requires newline at the end of each query in a file (Chaoyu Tang, reviewed by Thejas) Date: Mon, 4 May 2015 00:13:25 +0000 (UTC) Repository: hive Updated Branches: refs/heads/master 8eb0ede82 -> 247883354 HIVE-10541 : Beeline requires newline at the end of each query in a file (Chaoyu Tang, reviewed by Thejas) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/24788335 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/24788335 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/24788335 Branch: refs/heads/master Commit: 2478833548c3fd7899ec69b6e9305498831b9d5d Parents: 8eb0ede Author: Szehon Ho Authored: Sun May 3 17:12:54 2015 -0700 Committer: Szehon Ho Committed: Sun May 3 17:12:54 2015 -0700 ---------------------------------------------------------------------- beeline/src/java/org/apache/hive/beeline/BeeLine.java | 7 ++++++- .../org/apache/hive/beeline/TestBeeLineWithArgs.java | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/24788335/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 b3d89cb..e207670 100644 --- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -31,6 +31,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; +import java.io.SequenceInputStream; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -829,7 +830,11 @@ public class BeeLine implements Closeable { public ConsoleReader getConsoleReader(InputStream inputStream) throws IOException { if (inputStream != null) { // ### NOTE: fix for sf.net bug 879425. - consoleReader = new ConsoleReader(inputStream, getOutputStream()); + // Working around an issue in jline-2.1.2, see https://github.com/jline/jline/issues/10 + // 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()); } else { consoleReader = new ConsoleReader(); } http://git-wip-us.apache.org/repos/asf/hive/blob/24788335/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 f66229f..f0795d2 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 @@ -220,6 +220,18 @@ public class TestBeeLineWithArgs { } /** + * Fix to HIVE-10541: Beeline requires a newline at the end of each query in a file. + * Otherwise, the last line of cmd in the script will be ignored. + */ + @Test + public void testLastLineCmdInScriptFile() throws Throwable { + final String SCRIPT_TEXT = "show databases;\nshow tables;"; + final String EXPECTED_PATTERN = " testbeelinetable1 "; + List argList = getBaseArgs(miniHS2.getBaseJdbcURL()); + testScriptFile( SCRIPT_TEXT, EXPECTED_PATTERN, true, argList); + } + + /** * Test Beeline -hivevar option. User can specify --hivevar name=value on Beeline command line. * In the script, user should be able to use it in the form of ${name}, which will be substituted with * the value.