You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Pengcheng Xiong (JIRA)" <ji...@apache.org> on 2016/12/02 00:37:59 UTC

[jira] [Updated] (HIVE-15297) Hive should not split semicolon within quoted string literals

     [ https://issues.apache.org/jira/browse/HIVE-15297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pengcheng Xiong updated HIVE-15297:
-----------------------------------
    Status: Open  (was: Patch Available)

> Hive should not split semicolon within quoted string literals
> -------------------------------------------------------------
>
>                 Key: HIVE-15297
>                 URL: https://issues.apache.org/jira/browse/HIVE-15297
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Pengcheng Xiong
>            Assignee: Pengcheng Xiong
>         Attachments: HIVE-15297.01.patch, HIVE-15297.02.patch, HIVE-15297.03.patch
>
>
> String literals in query cannot have reserved symbols. The same set of query works fine in mysql and postgresql. 
> {code}
> hive> CREATE TABLE ts(s varchar(550));
> OK
> Time taken: 0.075 seconds
> hive> INSERT INTO ts VALUES ('Mozilla/5.0 (iPhone; CPU iPhone OS 5_0');
> MismatchedTokenException(14!=326)
> 	at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:617)
> 	at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.valueRowConstructor(HiveParser_FromClauseParser.java:7271)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.valuesTableConstructor(HiveParser_FromClauseParser.java:7370)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.valuesClause(HiveParser_FromClauseParser.java:7510)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.valuesClause(HiveParser.java:51854)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:45432)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:44578)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:44448)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1694)
> 	at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1176)
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:204)
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:402)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:326)
> 	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1169)
> 	at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1288)
> 	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1095)
> 	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1083)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232)
> 	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
> 	at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
> 	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
> 	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> FAILED: ParseException line 1:31 mismatched input '/' expecting ) near 'Mozilla' in value row constructor
> hive>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)