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

Danny Chan edited comment on CALCITE-2843 at 8/8/19 12:18 PM:
--------------------------------------------------------------

Thanks, [~mgelbana], i have digged a little and update the code in my branch: 
[https://github.com/danny0405/calcite/tree/MGelbana-CALCITE-2843].

There are 2 things updated:
 * you should specify the libraries for postgre sql operators in 
BabelTest#testPostgreSQLCastingOp
 * you should declare PostgreSQLCastOperator syntax as "SqlSyntax.FUNCTION"


was (Author: danny0405):
Thanks, [~mgelbana], i have dig a little and update the code in my branch: 
[https://github.com/danny0405/calcite/tree/MGelbana-CALCITE-2843].

There are 2 thinks updated:
 * you should specify the libraries for postgre sql operators in 
BabelTest#testPostgreSQLCastingOp
 * you should declare PostgreSQLCastOperator syntax as "SqlSyntax.FUNCTION"

> Babel parser should parse PostgreSQL-style '::' cast operator
> -------------------------------------------------------------
>
>                 Key: CALCITE-2843
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2843
>             Project: Calcite
>          Issue Type: Bug
>          Components: babel
>    Affects Versions: 1.18.0
>            Reporter: Muhammad Gelbana
>            Assignee: Muhammad Gelbana
>            Priority: Major
>              Labels: postgresql, pull-request-available
>             Fix For: 1.21.0
>
>          Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> *Code to reproduce the problem*
> {code:java}
> public static void main(String[] args) throws Exception {
>     Config parserConfig = 
> configBuilder().setConformance(SqlConformanceEnum.BABEL).setParserFactory(SqlBabelParserImpl.FACTORY).build();
>     FrameworkConfig frameworkConfig = 
> Frameworks.newConfigBuilder().parserConfig(parserConfig).build();
>     Planner planner = Frameworks.getPlanner(frameworkConfig);
>     String pg = "SELECT 'array_in'::regproc, typtype FROM pg_catalog.pg_type";
>     planner.parse(pg);
> }{code}
>  
> *Thrown exception*
> {noformat}
> Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException: 
> Encountered ":" at line 1, column 18.
> Was expecting one of:
>     <EOF> 
>     "ORDER" ...
>     "LIMIT" ...
>     "OFFSET" ...
>     "FETCH" ...
>     "FROM" ...
>     "," ...
>     <IDENTIFIER> ...
>     <QUOTED_IDENTIFIER> ...
>     <BACK_QUOTED_IDENTIFIER> ...
>     <BRACKET_QUOTED_IDENTIFIER> ...
>     <UNICODE_QUOTED_IDENTIFIER> ...
>     <QUOTED_STRING> ...
>     "." ...
>     "IN" ...
>     "<" ...
>     "<=" ...
>     ">" ...
>     ">=" ...
>     "=" ...
>     "<>" ...
>     "!=" ...
>     "+" ...
>     "-" ...
>     "*" ...
>     "/" ...
>     "%" ...
>     "||" ...
>     "[" ...
>     "UNION" ...
>     "INTERSECT" ...
>     "EXCEPT" ...
>     "MINUS" ...
>     
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.convertException(SqlBabelParserImpl.java:354)
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.normalizeException(SqlBabelParserImpl.java:142)
>       at 
> org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:156)
>       at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:181)
>       at org.apache.calcite.prepare.PlannerImpl.parse(PlannerImpl.java:174)
>       at org.apache.calcite.tools.Planner.parse(Planner.java:50)
>       at com.lab.calcite.App2.main(App2.java:23)
> Caused by: org.apache.calcite.sql.parser.babel.ParseException: Encountered 
> ":" at line 1, column 18.
> Was expecting one of:
>     <EOF> 
>     "ORDER" ...
>     "LIMIT" ...
>     "OFFSET" ...
>     "FETCH" ...
>     "FROM" ...
>     "," ...
>     <IDENTIFIER> ...
>     <QUOTED_IDENTIFIER> ...
>     <BACK_QUOTED_IDENTIFIER> ...
>     <BRACKET_QUOTED_IDENTIFIER> ...
>     <UNICODE_QUOTED_IDENTIFIER> ...
>     <QUOTED_STRING> ...
>     "." ...
>     "IN" ...
>     "<" ...
>     "<=" ...
>     ">" ...
>     ">=" ...
>     "=" ...
>     "<>" ...
>     "!=" ...
>     "+" ...
>     "-" ...
>     "*" ...
>     "/" ...
>     "%" ...
>     "||" ...
>     "[" ...
>     "UNION" ...
>     "INTERSECT" ...
>     "EXCEPT" ...
>     "MINUS" ...
>     
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.generateParseException(SqlBabelParserImpl.java:31191)
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.jj_consume_token(SqlBabelParserImpl.java:31008)
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.SqlStmtEof(SqlBabelParserImpl.java:877)
>       at 
> org.apache.calcite.sql.parser.babel.SqlBabelParserImpl.parseSqlStmtEof(SqlBabelParserImpl.java:198)
>       at 
> org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:148)
>       ... 4 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to