diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java index f2aeac5..5e493e3 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')); @@ -505,6 +505,11 @@ public BeeLine(boolean isBeeLine) { (this)); reflector = new Reflector(this); this.isBeeLine = isBeeLine; + try{ + consoleReader = new ConsoleReader(); + } catch (Throwable t){ + handleException(t); + } // attempt to dynamically load signal handler /* TODO disable signal handler try { 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('*')); }