diff --git cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java index 4239392..7f06e76 100644 --- cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java +++ cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java @@ -32,12 +32,12 @@ import java.util.Set; import jline.ArgumentCompletor; +import jline.ArgumentCompletor.AbstractArgumentDelimiter; +import jline.ArgumentCompletor.ArgumentDelimiter; import jline.Completor; import jline.ConsoleReader; import jline.History; import jline.SimpleCompletor; -import jline.ArgumentCompletor.AbstractArgumentDelimiter; -import jline.ArgumentCompletor.ArgumentDelimiter; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; @@ -398,6 +398,18 @@ public void handle(Signal signal) { int lastRet = 0, ret = 0; String command = ""; + String cmdLine = ""; + for (String cmd : line.split("\n")) { + String[] cmdArr = cmd.split("-- "); + if (cmdArr.length > 2) { + console.printInfo("Cannot have nested comments"); + return -2; + } + + cmdLine += cmdArr[0] + "\n"; + } + + line = cmdLine; for (String oneCmd : line.split(";")) { if (StringUtils.endsWith(oneCmd, "\\")) { @@ -751,6 +763,9 @@ public static int run(String[] args) throws Exception { if (!prefix.equals("")) { prefix += '\n'; } + if (prefix.equals("") && line.startsWith("--")) { + continue; + } if (line.trim().endsWith(";") && !line.trim().endsWith("\\;")) { line = prefix + line; ret = cli.processLine(line, true); diff --git ql/src/test/queries/clientpositive/comments.q ql/src/test/queries/clientpositive/comments.q new file mode 100644 index 0000000..f5a0482 --- /dev/null +++ ql/src/test/queries/clientpositive/comments.q @@ -0,0 +1,11 @@ +select * from src1; -- this is a comment +-- this is a comment; +select * from src1 -- this is a comment; +-- this is a comment; +-- this is a comment; +; +select "ke +-- +y" from src1; + +select * from src1; diff --git ql/src/test/results/clientpositive/comments.q.out ql/src/test/results/clientpositive/comments.q.out new file mode 100644 index 0000000..8578b20 --- /dev/null +++ ql/src/test/results/clientpositive/comments.q.out @@ -0,0 +1,186 @@ +PREHOOK: query: select * from src1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: select * from src1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +238 val_238 + +311 val_311 + val_27 + val_165 + val_409 +255 val_255 +278 val_278 +98 val_98 + val_484 + val_265 + val_193 +401 val_401 +150 val_150 +273 val_273 +224 +369 +66 val_66 +128 +213 val_213 +146 val_146 +406 val_406 + + + +PREHOOK: query: select * from src1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: select * from src1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +238 val_238 + +311 val_311 + val_27 + val_165 + val_409 +255 val_255 +278 val_278 +98 val_98 + val_484 + val_265 + val_193 +401 val_401 +150 val_150 +273 val_273 +224 +369 +66 val_66 +128 +213 val_213 +146 val_146 +406 val_406 + + + +PREHOOK: query: select "ke +-- +y" from src1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: select "ke +-- +y" from src1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +ke +-- +y +PREHOOK: query: select * from src1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src1 +#### A masked pattern was here #### +POSTHOOK: query: select * from src1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src1 +#### A masked pattern was here #### +238 val_238 + +311 val_311 + val_27 + val_165 + val_409 +255 val_255 +278 val_278 +98 val_98 + val_484 + val_265 + val_193 +401 val_401 +150 val_150 +273 val_273 +224 +369 +66 val_66 +128 +213 val_213 +146 val_146 +406 val_406 + + +