[KYUUBI #4305][Bug] Backport HIVE-15820: comment at the head of beeline -e
### _Why are the changes needed?_ close [#4305](https://github.com/apache/kyuubi/issues/4305) ### manual tests ```sql bin/beeline -u jdbc:hive2://X:10009 -e " --asd select 1 as a " ```  ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [x] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4333 from lsm1/fix/beeline_comment_header. Closes #4305 f932d4ead [senmiaoliu] reformat 9a071fb40 [senmiaoliu] added multi line ut 425c53631 [senmiaoliu] added ut d4dc21a61 [senmiaoliu] comment at the head of beeline -e Authored-by: senmiaoliu <senmiaoliu@trip.com> Signed-off-by: Fu Chen <cfmcgrady@gmail.com>
This commit is contained in:
parent
70f7c09b6a
commit
c489e29697
@ -29,6 +29,7 @@ import java.util.List;
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.Options;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
import org.apache.hive.common.util.HiveStringUtils;
|
||||
|
||||
public class KyuubiBeeLine extends BeeLine {
|
||||
public static final String KYUUBI_BEELINE_DEFAULT_JDBC_DRIVER =
|
||||
@ -192,4 +193,9 @@ public class KyuubiBeeLine extends BeeLine {
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean dispatch(String line) {
|
||||
return super.dispatch(HiveStringUtils.removeComments(line));
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import java.io.*;
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import org.apache.hive.beeline.logs.KyuubiBeelineInPlaceUpdateStream;
|
||||
import org.apache.hive.common.util.HiveStringUtils;
|
||||
import org.apache.kyuubi.jdbc.hive.KyuubiStatement;
|
||||
import org.apache.kyuubi.jdbc.hive.Utils;
|
||||
import org.apache.kyuubi.jdbc.hive.logs.InPlaceUpdateStream;
|
||||
@ -499,7 +500,7 @@ public class KyuubiCommands extends Commands {
|
||||
|
||||
@Override
|
||||
public String handleMultiLineCmd(String line) throws IOException {
|
||||
int[] startQuote = {-1};
|
||||
line = HiveStringUtils.removeComments(line);
|
||||
Character mask =
|
||||
(System.getProperty("jline.terminal", "").equals("jline.UnsupportedTerminal"))
|
||||
? null
|
||||
@ -530,7 +531,8 @@ public class KyuubiCommands extends Commands {
|
||||
if (extra == null) { // it happens when using -f and the line of cmds does not end with ;
|
||||
break;
|
||||
}
|
||||
if (!extra.isEmpty()) {
|
||||
extra = HiveStringUtils.removeComments(extra);
|
||||
if (extra != null && !extra.isEmpty()) {
|
||||
line += "\n" + extra;
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,4 +29,17 @@ public class KyuubiBeeLineTest {
|
||||
int result = kyuubiBeeLine.initArgs(new String[0]);
|
||||
assertEquals(0, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testKyuubiBeelineComment() {
|
||||
KyuubiBeeLine kyuubiBeeLine = new KyuubiBeeLine();
|
||||
int result = kyuubiBeeLine.initArgsFromCliVars(new String[] {"-e", "--comment show database;"});
|
||||
assertEquals(0, result);
|
||||
result = kyuubiBeeLine.initArgsFromCliVars(new String[] {"-e", "--comment\n show database;"});
|
||||
assertEquals(1, result);
|
||||
result =
|
||||
kyuubiBeeLine.initArgsFromCliVars(
|
||||
new String[] {"-e", "--comment line 1 \n --comment line 2 \n show database;"});
|
||||
assertEquals(1, result);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user