[ https://issues.apache.org/jira/browse/CALCITE-2843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Muhammad Gelbana updated CALCITE-2843: -------------------------------------- Description: *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} was: How to reproduce the bug {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} *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} > 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: Julian Hyde > Priority: Major > > *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.3#76005)