[ https://issues.apache.org/jira/browse/CALCITE-2844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Muhammad Gelbana updated CALCITE-2844: -------------------------------------- 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 * from generate_series(1, 5)"; planner.parse(pg); } {code} *Thrown exception* {noformat} Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException: Encountered "( 1" at line 1, column 30. Was expecting one of: <EOF> "ORDER" ... "LIMIT" ... "OFFSET" ... "FETCH" ... "NATURAL" ... "JOIN" ... "INNER" ... "LEFT" ... "RIGHT" ... "FULL" ... "CROSS" ... "," ... "OUTER" ... "(" <IDENTIFIER> ... "(" <QUOTED_IDENTIFIER> ... "(" <BACK_QUOTED_IDENTIFIER> ... "(" <BRACKET_QUOTED_IDENTIFIER> ... "(" <UNICODE_QUOTED_IDENTIFIER> ... "MATCH_RECOGNIZE" ... "." ... "(" ... <IDENTIFIER> ... <QUOTED_IDENTIFIER> ... <BACK_QUOTED_IDENTIFIER> ... <BRACKET_QUOTED_IDENTIFIER> ... <UNICODE_QUOTED_IDENTIFIER> ... "TABLESAMPLE" ... "WHERE" ... "GROUP" ... "HAVING" ... "WINDOW" ... "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:24) Caused by: org.apache.calcite.sql.parser.babel.ParseException: Encountered "( 1" at line 1, column 30. Was expecting one of: <EOF> "ORDER" ... "LIMIT" ... "OFFSET" ... "FETCH" ... "NATURAL" ... "JOIN" ... "INNER" ... "LEFT" ... "RIGHT" ... "FULL" ... "CROSS" ... "," ... "OUTER" ... "(" <IDENTIFIER> ... "(" <QUOTED_IDENTIFIER> ... "(" <BACK_QUOTED_IDENTIFIER> ... "(" <BRACKET_QUOTED_IDENTIFIER> ... "(" <UNICODE_QUOTED_IDENTIFIER> ... "MATCH_RECOGNIZE" ... "." ... "(" ... <IDENTIFIER> ... <QUOTED_IDENTIFIER> ... <BACK_QUOTED_IDENTIFIER> ... <BRACKET_QUOTED_IDENTIFIER> ... <UNICODE_QUOTED_IDENTIFIER> ... "TABLESAMPLE" ... "WHERE" ... "GROUP" ... "HAVING" ... "WINDOW" ... "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: *Query* {code:sql} SELECT typinput, typtype FROM pg_catalog.pg_type LEFT JOIN (select ns.oid as nspoid, ns.nspname, r.r from pg_namespace as ns join ( select s.r, (current_schemas(false))[s.r] as nspname from generate_series(1, array_upper(current_schemas(false), 1)) as s(r) ) as r using ( nspname )) as sp ON sp.nspoid = typnamespace WHERE typname = $1 ORDER BY sp.r, pg_type.oid DESC LIMIT 1{code} > Babel parser should parse PostgreSQL table functions > ---------------------------------------------------- > > Key: CALCITE-2844 > URL: https://issues.apache.org/jira/browse/CALCITE-2844 > 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 * from generate_series(1, 5)"; > planner.parse(pg); > } > {code} > > *Thrown exception* > {noformat} > Exception in thread "main" org.apache.calcite.sql.parser.SqlParseException: > Encountered "( 1" at line 1, column 30. > Was expecting one of: > <EOF> > "ORDER" ... > "LIMIT" ... > "OFFSET" ... > "FETCH" ... > "NATURAL" ... > "JOIN" ... > "INNER" ... > "LEFT" ... > "RIGHT" ... > "FULL" ... > "CROSS" ... > "," ... > "OUTER" ... > "(" <IDENTIFIER> ... > "(" <QUOTED_IDENTIFIER> ... > "(" <BACK_QUOTED_IDENTIFIER> ... > "(" <BRACKET_QUOTED_IDENTIFIER> ... > "(" <UNICODE_QUOTED_IDENTIFIER> ... > "MATCH_RECOGNIZE" ... > "." ... > "(" ... > <IDENTIFIER> ... > <QUOTED_IDENTIFIER> ... > <BACK_QUOTED_IDENTIFIER> ... > <BRACKET_QUOTED_IDENTIFIER> ... > <UNICODE_QUOTED_IDENTIFIER> ... > "TABLESAMPLE" ... > "WHERE" ... > "GROUP" ... > "HAVING" ... > "WINDOW" ... > "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:24) > Caused by: org.apache.calcite.sql.parser.babel.ParseException: Encountered "( > 1" at line 1, column 30. > Was expecting one of: > <EOF> > "ORDER" ... > "LIMIT" ... > "OFFSET" ... > "FETCH" ... > "NATURAL" ... > "JOIN" ... > "INNER" ... > "LEFT" ... > "RIGHT" ... > "FULL" ... > "CROSS" ... > "," ... > "OUTER" ... > "(" <IDENTIFIER> ... > "(" <QUOTED_IDENTIFIER> ... > "(" <BACK_QUOTED_IDENTIFIER> ... > "(" <BRACKET_QUOTED_IDENTIFIER> ... > "(" <UNICODE_QUOTED_IDENTIFIER> ... > "MATCH_RECOGNIZE" ... > "." ... > "(" ... > <IDENTIFIER> ... > <QUOTED_IDENTIFIER> ... > <BACK_QUOTED_IDENTIFIER> ... > <BRACKET_QUOTED_IDENTIFIER> ... > <UNICODE_QUOTED_IDENTIFIER> ... > "TABLESAMPLE" ... > "WHERE" ... > "GROUP" ... > "HAVING" ... > "WINDOW" ... > "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)