diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java index f2aeac5..64efd6e 100644 --- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -304,7 +304,7 @@ // -p options.addOption(OptionBuilder - .hasArg() + .hasOptionalArg() .withArgName("password") .withDescription("the password to connect as") .create('p')); @@ -831,6 +831,7 @@ public int begin(String[] args, InputStream inputStream) throws IOException { } try { + ConsoleReader reader = getConsoleReader(inputStream); if (isBeeLine) { int code = initArgs(args); if (code != 0) { @@ -852,7 +853,7 @@ public int begin(String[] args, InputStream inputStream) throws IOException { } catch (Exception e) { // ignore } - ConsoleReader reader = getConsoleReader(inputStream); + return execute(reader, false); } finally { close(); diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java index 44dd18b..69bdba4 100644 --- a/beeline/src/java/org/apache/hive/beeline/Commands.java +++ b/beeline/src/java/org/apache/hive/beeline/Commands.java @@ -1372,7 +1372,7 @@ public boolean connect(Properties props) throws IOException { username = beeLine.getConsoleReader().readLine("Enter username for " + url + ": "); } props.setProperty("user", username); - if (password == null) { + if (password == null || password.length() == 0) { password = beeLine.getConsoleReader().readLine("Enter password for " + url + ": ", new Character('*')); }