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)

Reply via email to