[ 
https://issues.apache.org/jira/browse/CALCITE-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16787001#comment-16787001
 ] 

Nan Deng commented on CALCITE-1217:
-----------------------------------

Hi, [~julianhyde]. It looks like Calcite uses square bracket as its default 
identifier delimiter according to [latest 
Parser.jj|https://github.com/apache/calcite/blob/50012d221d6e9a5e42a957ab0723e0f706b25be3/core/src/main/codegen/templates/Parser.jj#L6976]
 and [this 
commit|https://github.com/apache/calcite/commit/2cdbcac089523ca9af3f08549f7f10137ac6a412].
 I am not sure if there are other places this can be set. Any comments are 
welcome.

> SQL parse error if column named 'value'
> ---------------------------------------
>
>                 Key: CALCITE-1217
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1217
>             Project: Calcite
>          Issue Type: Bug
>    Affects Versions: 1.7.0
>            Reporter: Heng Chen
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.8.0
>
>
> {code}
> select t1.a, t2.b, `t2.value` from t1 left join t2 on t1.id=t2.id join 
> (select a,b,c from t3) t4 on t2.id=t4.id where t2.b>100
> {code}
> {code}
> Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException: 
> Lexical error at line 1, column 20.  Encountered: "`" (96), after : ""
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:388)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:119)
>       at 
> org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)
>       at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)
>       at org.apache.calcite.prepare.PlannerImpl.parse(PlannerImpl.java:167)
>       at 
> com.fenbi.pipe.utils.SqlParserUtils.getDependTables(SqlParserUtils.java:77)
>       at com.fenbi.pipe.utils.SqlParserUtils.run(SqlParserUtils.java:72)
>       at com.fenbi.pipe.utils.SqlParserUtils.main(SqlParserUtils.java:111)
>       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:497)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> Caused by: org.apache.calcite.sql.parser.impl.TokenMgrError: Lexical error at 
> line 1, column 20.  Encountered: "`" (96), after : ""
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImplTokenManager.getNextToken(SqlParserImplTokenManager.java:14038)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_scan_token(SqlParserImpl.java:17512)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3_81(SqlParserImpl.java:11351)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_114(SqlParserImpl.java:11343)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3R_45(SqlParserImpl.java:11449)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_3_78(SqlParserImpl.java:11475)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_2_78(SqlParserImpl.java:6036)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SelectList(SqlParserImpl.java:1340)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:874)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:578)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:2417)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:2336)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:496)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:805)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:831)
>       at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.parseSqlStmtEof(SqlParserImpl.java:178)
>       at 
> org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:124)
>       ... 10 more
> Process finished with exit code 1
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to