diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java index e0fa032..3302c84 100644 --- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -881,6 +881,7 @@ public int begin(String[] args, InputStream inputStream) throws IOException { } try { + ConsoleReader reader = getConsoleReader(inputStream); if (isBeeLine) { int code = initArgs(args); if (code != 0) { @@ -905,7 +906,7 @@ public int begin(String[] args, InputStream inputStream) throws IOException { } catch (Exception e) { // ignore } - ConsoleReader reader = getConsoleReader(inputStream); + return execute(reader, false); } finally { close(); @@ -1079,14 +1080,16 @@ public ConsoleReader getConsoleReader(InputStream inputStream) throws IOExceptio Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { + if(consoleReader != null) { History h = consoleReader.getHistory(); if (h instanceof FileHistory) { - try { - ((FileHistory) h).flush(); - } catch (IOException e) { - error(e); - } + try { + ((FileHistory) h).flush(); + } catch (IOException e) { + error(e); + } } + } } })); diff --git a/beeline/src/java/org/apache/hive/beeline/Commands.java b/beeline/src/java/org/apache/hive/beeline/Commands.java index a25e09b..47f5022 100644 --- a/beeline/src/java/org/apache/hive/beeline/Commands.java +++ b/beeline/src/java/org/apache/hive/beeline/Commands.java @@ -1501,7 +1501,7 @@ public boolean connect(Properties props) throws IOException { username = beeLine.getConsoleReader().readLine("Enter username for " + url + ": "); } props.setProperty(JdbcConnectionParams.AUTH_USER, username); - if (password == null) { + if (password == null || password.length() == 0) { password = beeLine.getConsoleReader().readLine("Enter password for " + url + ": ", new Character('*')); }