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

Muhammad Gelbana edited comment on CALCITE-2843 at 8/1/19 7:40 AM:
-------------------------------------------------------------------

I made the changes you asked for as closely as possible but a single test case 
is failing now, that is {{DocumentationTest.testAllFunctionsAreDocumented()}} 
because the PostgreSQL casting operator is now exposed as another {{CAST}} 
function and it's not documented. It shouldn't be documented of course because 
it exposes the same syntax as {{CAST}}.

The {{::}} operator is already documented of course. So how do you think I can 
bypass the documentation testing for this specific instance of the {{CAST}} 
function ?


was (Author: mgelbana):
I made the changes you asked for as closely as possible but a single test case 
is failing now, that is {{DocumentationTest.testAllFunctionsAreDocumented()}} 
because the PostgreSQL casting operator is no exposed as another {{CAST}} 
function and it's not documented. It shouldn't be documented of course because 
it's syntax isn't unique.

The {{::}} operator is already documented of course. So how do you think I can 
bypass the documentation testing for this specific instance of the {{CAST}} 
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
>          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