[
https://issues.apache.org/jira/browse/CALCITE-5018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
zhangquan updated CALCITE-5018:
-------------------------------
Description:
Dear all, I use SqlParser.parseQuery(String sql) sql like as :
{code:java}
select `ID`,`NAME` from hr.emp where dept_id=1 {code}
java code
{code:java}
String sql = "select `ID`,`NAME` from hr.emp where dept_id=1";
SqlParser.Config config =
SqlParser.config()
.withQuoting(Quoting.BACK_TICK);
SqlParser parser = SqlParser.create(sql, config);
SqlNode sqlNode = parser.parseQuery(sql);
{code}
then occur Exception:
{code:java}
Lexical error at line 1, column 11. Encountered: "`" (96), after : ""
Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException:
Lexical error at line 1, column 21. Encountered: "`" (96), after : ""
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:389)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:153)
at
org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:145)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:160)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:175)
at
com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.quoting(xxxx.java:99)
at
com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.main(xxxx.java:28)
Caused by: org.apache.calcite.sql.parser.impl.TokenMgrError: Lexical error at
line 1, column 21. Encountered: "`" (96), after : ""
at
org.apache.calcite.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:25902)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:36935)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_259(SqlParserImpl.java:35756)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_117(SqlParserImpl.java:35770)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_118(SqlParserImpl.java:35256)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_156(SqlParserImpl.java:34479)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_67(SqlParserImpl.java:31638)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3_23(SqlParserImpl.java:34219)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_2_23(SqlParserImpl.java:30602)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef2(SqlParserImpl.java:9292)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:9268)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:9158)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:4419)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:631)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:16109)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:15557)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:505)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:3790)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:3828)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.parseSqlStmtEof(SqlParserImpl.java:201)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:158)
... 3 more
{code}
was:
Dear all, I use SqlParser.parseQuery(String sql) sql like as :
{code:java}
select `ID`,`NAME` from hr.emp where dept_id=1 {code}
java code
{code:java}
String sql = "select `ID`,`NAME` from hr.emp where dept_id=1";
SqlParser.Config config =
SqlParser.config()
.withQuoting(Quoting.BACK_TICK);
SqlParser parser = SqlParser.create(sql, config);
SqlNode sqlNode = parser.parseQuery();
{code}
then occur Exception:
{code}
Lexical error at line 1, column 11. Encountered: "`" (96), after : ""
Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException:
Lexical error at line 1, column 21. Encountered: "`" (96), after : ""
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:389)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:153)
at
org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:145)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:160)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:175)
at
com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.quoting(xxxx.java:99)
at
com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.main(xxxx.java:28)
Caused by: org.apache.calcite.sql.parser.impl.TokenMgrError: Lexical error at
line 1, column 21. Encountered: "`" (96), after : ""
at
org.apache.calcite.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:25902)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:36935)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_259(SqlParserImpl.java:35756)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_117(SqlParserImpl.java:35770)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_118(SqlParserImpl.java:35256)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_156(SqlParserImpl.java:34479)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_67(SqlParserImpl.java:31638)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3_23(SqlParserImpl.java:34219)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_2_23(SqlParserImpl.java:30602)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef2(SqlParserImpl.java:9292)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:9268)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:9158)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:4419)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:631)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:16109)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:15557)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:505)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:3790)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:3828)
at
org.apache.calcite.sql.parser.impl.SqlParserImpl.parseSqlStmtEof(SqlParserImpl.java:201)
at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:158)
... 3 more
{code}
> org.apache.calcite.sql.parser.SqlParseException: Lexical error at line 1,
> column 8. Encountered: "`" (96), after : ""
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-5018
> URL: https://issues.apache.org/jira/browse/CALCITE-5018
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.29.0
> Reporter: zhangquan
> Priority: Major
>
> Dear all, I use SqlParser.parseQuery(String sql) sql like as :
> {code:java}
> select `ID`,`NAME` from hr.emp where dept_id=1 {code}
>
> java code
>
> {code:java}
> String sql = "select `ID`,`NAME` from hr.emp where dept_id=1";
> SqlParser.Config config =
> SqlParser.config()
> .withQuoting(Quoting.BACK_TICK);
> SqlParser parser = SqlParser.create(sql, config);
> SqlNode sqlNode = parser.parseQuery(sql);
> {code}
>
> then occur Exception:
> {code:java}
> Lexical error at line 1, column 11. Encountered: "`" (96), after : ""
> Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException:
> Lexical error at line 1, column 21. Encountered: "`" (96), after : ""
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:389)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:153)
> at
> org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:145)
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:160)
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:175)
> at
> com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.quoting(xxxx.java:99)
> at
> com.github.quxiucheng.calcite.parser.tutorial.SqlParserConfigSample.main(xxxx.java:28)
> Caused by: org.apache.calcite.sql.parser.impl.TokenMgrError: Lexical error at
> line 1, column 21. Encountered: "`" (96), after : ""
> at
> org.apache.calcite.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:25902)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:36935)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_259(SqlParserImpl.java:35756)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_117(SqlParserImpl.java:35770)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_118(SqlParserImpl.java:35256)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_156(SqlParserImpl.java:34479)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_67(SqlParserImpl.java:31638)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3_23(SqlParserImpl.java:34219)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_2_23(SqlParserImpl.java:30602)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef2(SqlParserImpl.java:9292)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.TableRef(SqlParserImpl.java:9268)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.FromClause(SqlParserImpl.java:9158)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:4419)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:631)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:16109)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:15557)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:505)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:3790)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:3828)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.parseSqlStmtEof(SqlParserImpl.java:201)
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:158)
> ... 3 more
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)