zhangquan created CALCITE-5018:
----------------------------------
Summary: 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
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}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)