diff --git beeline/src/java/org/apache/hive/beeline/Commands.java beeline/src/java/org/apache/hive/beeline/Commands.java index 91ee3b3..d2d7fd3 100644 --- beeline/src/java/org/apache/hive/beeline/Commands.java +++ beeline/src/java/org/apache/hive/beeline/Commands.java @@ -674,7 +674,10 @@ private boolean execute(String line, boolean call) { // use multiple lines for statements not terminated by ";" try { - while (!(line.trim().endsWith(";")) && beeLine.getOpts().isAllowMultiLineCommand()) { + //When using -e, console reader is not initialized and command is a single line + while (beeLine.getConsoleReader() != null && !(line.trim().endsWith(";")) + && beeLine.getOpts().isAllowMultiLineCommand()) { + StringBuilder prompt = new StringBuilder(beeLine.getPrompt()); for (int i = 0; i < prompt.length() - 1; i++) { if (prompt.charAt(i) != '>') { @@ -691,6 +694,7 @@ private boolean execute(String line, boolean call) { beeLine.handleException(e); } + if (line.endsWith(";")) { line = line.substring(0, line.length() - 1); }