Andrew Sherman created HIVE-16935:
-------------------------------------

             Summary: Hive should strip comments from input before choosing 
which CommandProcessor to run.
                 Key: HIVE-16935
                 URL: https://issues.apache.org/jira/browse/HIVE-16935
             Project: Hive
          Issue Type: Bug
            Reporter: Andrew Sherman
            Assignee: Andrew Sherman


While using Beeswax, Hue fails to execute statement with following error:

Error while compiling statement: FAILED: ParseException line 3:4 missing 
KW_ROLE at 'a' near 'a' line 3:5 missing EOF at '=' near 'a'

{quote}
-- comment
SET a=1;
SELECT 1;
{quote}

The same code works in Beeline and in Impala.
The same code fails in CliDriver 
 
h2. Background

Hive deals with sql comments (“-- to end of line”) in different places.
Some clients attempt to strip comments. For example BeeLine was recently 
enhanced in https://issues.apache.org/jira/browse/HIVE-13864 to strip comments 
from multi-line commands before they are executed.
Other clients such as Hue or Jdbc do not strip comments before sending text.
Some tests such as TestCliDriver strip comments before running tests.
When Hive gets a command the CommandProcessorFactory looks at the text to 
determine which CommandProcessor should handle the command. In the bug case the 
correct CommandProcessor is SetProcessor, but the comments confuse the 
CommandProcessorFactory and so the command is treated as sql. Hive’s sql parser 
understands and ignores comments, but it does not understand the set commands 
usually handled by SetProcessor and so we get the ParseException shown above.
 




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to