On Mon, Dec 20, 2010 at 10:30 AM, Edward Capriolo <[email protected]> wrote: > On Mon, Dec 20, 2010 at 1:16 AM, iryoung jeong <[email protected]> wrote: >> Hello, there. >> I found that running hive with sql file caused error messages because of >> comments. >> For example, me and data analysts in my company think these sql file is make >> sense. >> ~/Desktop/projecs/hive/hive-trunk/build/dist$ cat q.sql >> -- hello >> -- hello ; >> set; >> -- hello again >> -- hello again; >> but, hive think it doesn't. >> When I run the sql file using "hive -f q.sql", then hive complains like >> this: >> FAILED: Parse Error: line 0:-1 cannot recognize input '<EOF>' >> Analyst people confused that this was caused by their SQLs or just comments. >> So, I had to apply quick-fix to hive source. >> ~/Desktop/projecs/hive/hive-trunk$ svn diff >> Index: cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java >> =================================================================== >> --- cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (revision >> 1050978) >> +++ cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (working copy) >> @@ -245,11 +245,14 @@ >> StringBuilder qsb = new StringBuilder(); >> >> while ((line = r.readLine()) != null) { >> - qsb.append(line + "\n"); >> + qsb.append(removeComment(line) + "\n"); >> } >> >> return (processLine(qsb.toString())); >> } >> + private String removeComment(String line) { >> + return line.replaceFirst("--.+$","").trim(); >> + } >> >> public int processFile(String fileName) throws IOException { >> FileReader fileReader = null; >> >> And, there are no more error messages related to comments. >> I know this temporary quick-fix doesn't solve the root of trouble, but I >> hope this can be useful to other people until the problem is sovled >> correctly. >> btw, I just wonder I have to bring up an issue to hive-jira about this >> problem or just ask other people in here to make the issue. If someone can >> do that, then please make a issue or tell me that this is a too small issue >> to raise issue in jira. >> Thanks. >> iryoung. >> > > QL can not handle comments before set commands. Comments are actually > handed up to the QueryParser. Your patch is removing them at the CLI > level. (which is "ok") we have a few little hacks baked into the CLI > and how it "parses" things. >
You can upload your patch here, This issues is very close to what you are fixing. https://issues.apache.org/jira/browse/HIVE-1431
