HIVE-12018 : beeline --help doesn't return to original prompt (Mohammad Islam 
via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <[email protected]>


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

Branch: refs/heads/llap
Commit: 556877c24a335f207d74bb7daa6949af227ffe60
Parents: 1e0c508
Author: Mohammad Kamrul Islam <[email protected]>
Authored: Fri Oct 2 15:00:00 2015 -0800
Committer: Ashutosh Chauhan <[email protected]>
Committed: Wed Oct 7 09:31:33 2015 -0700

----------------------------------------------------------------------
 beeline/src/java/org/apache/hive/beeline/BeeLine.java       | 4 ++++
 beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java   | 9 +++++++++
 .../test/org/apache/hive/beeline/TestBeelineArgParsing.java | 1 +
 3 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/556877c2/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 f2aeac5..69e9418 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -727,6 +727,7 @@ public class BeeLine implements Closeable {
 
     if (cl.hasOption("help")) {
       usage();
+      getOpts().setHelpAsked(true);
       return 0;
     }
 
@@ -844,6 +845,9 @@ public class BeeLine implements Closeable {
         defaultConnect(false);
       }
 
+      if (getOpts().isHelpAsked()) {
+        return 0;
+      }
       if (getOpts().getScriptFile() != null) {
         return executeFile(getOpts().getScriptFile());
       }

http://git-wip-us.apache.org/repos/asf/hive/blob/556877c2/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java 
b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
index 8e1d11b..7a6ee5f 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java
@@ -100,6 +100,7 @@ class BeeLineOpts implements Completer {
 
   private Map<String, String> hiveVariables = new HashMap<String, String>();
   private Map<String, String> hiveConfVariables = new HashMap<String, 
String>();
+  private boolean helpAsked;
 
   public BeeLineOpts(BeeLine beeLine, Properties props) {
     this.beeLine = beeLine;
@@ -558,5 +559,13 @@ class BeeLineOpts implements Completer {
   public HiveConf getConf() {
     return conf;
   }
+
+  public void setHelpAsked(boolean helpAsked) {
+    this.helpAsked = helpAsked;
+  }
+
+  public boolean isHelpAsked() {
+    return helpAsked;
+  }
 }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/556877c2/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
----------------------------------------------------------------------
diff --git 
a/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java 
b/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
index 702805f..e529057 100644
--- a/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
+++ b/beeline/src/test/org/apache/hive/beeline/TestBeelineArgParsing.java
@@ -206,6 +206,7 @@ public class TestBeelineArgParsing {
     TestBeeline bl = new TestBeeline();
     String args[] = new String[] {"--help"};
     Assert.assertEquals(0, bl.initArgs(args));
+    Assert.assertEquals(true, bl.getOpts().isHelpAsked());
   }
 
   /**

Reply via email to