diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java index 1e289ca..f7399bc 100644 --- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -988,6 +988,7 @@ public ConsoleReader getConsoleReader(InputStream inputStream) throws IOExceptio InputStream inputStreamAppendedNewline = new SequenceInputStream(inputStream, new ByteArrayInputStream((new String("\n")).getBytes())); consoleReader = new ConsoleReader(inputStreamAppendedNewline, getOutputStream()); + consoleReader.setCopyPasteDetection(true); // jline will detect if is regular character } else { consoleReader = new ConsoleReader(); } diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java index d5f692b..8475a89 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/TestBeeLineWithArgs.java @@ -323,6 +323,14 @@ public void testBreakOnErrorScriptFile() throws Throwable { } @Test + public void testTabInScriptFile() throws Throwable { + List argList = getBaseArgs(miniHS2.getBaseJdbcURL()); + final String SCRIPT_TEXT = "CREATE\tTABLE IF NOT EXISTS testTabInScriptFile\n(id\tint);\nSHOW TABLES;"; + final String EXPECTED_PATTERN = "testTabInScriptFile"; + testScriptFile(SCRIPT_TEXT, EXPECTED_PATTERN, true, argList); + } + + @Test public void testBeelineShellCommand() throws Throwable { List argList = getBaseArgs(miniHS2.getBaseJdbcURL()); final String SCRIPT_TEXT = "!sh echo \"hello world.\" > hw.txt\n!sh cat hw.txt\n!rm hw.txt";