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

Reply via email to