[
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)