Hi Shivraj, In order to use the Babel parser you also need to set the appropriate factory.
.setParserFactory(SqlBabelParserImpl.FACTORY) not SqlParserImpl.FACTORY Best, Stamatis On Fri, Feb 14, 2020 at 8:58 AM Shivraj Singh <shivraj.si...@knoldus.com> wrote: > Thanks @Danny Chan , > > Please tell me one more thing: > Just curious what does the PostgresSqlDialect accomplish in Calcite, if not > to parse postgres sqls? > *Shivraj Singh* > Software Consultant > Knoldus Inc. <http://www.knoldus.com> > +91-8800782123 > Canada - USA - India - Singapore > <https://in.linkedin.com/company/knoldus> <https://twitter.com/Knolspeak> > <https://www.facebook.com/KnoldusSoftware/> <https://blog.knoldus.com/> > > > On Fri, Feb 14, 2020 at 12:26 PM Danny Chan <yuzhao....@gmail.com> wrote: > > > You should extend the babel parser by yourself. > > > > Shivraj Singh <shivraj.si...@knoldus.com>于2020年2月14日 周五下午2:33写道: > > > > > I tried for BABEL conformance but it also doesn't work. > > > This is the way I used it: > > > > > > val sqlParserConfig = SqlParser.configBuilder() > > > .setParserFactory(SqlParserImpl.FACTORY) > > > .setConformance(SqlConformanceEnum.BABEL) > > > .setConfig(sqlParserA) > > > .build() > > > > > > SqlParser.create(new > > > SourceStringReader(sql),sqlParserConfig).parseQuery() > > > > > > Am I doing something wrong? > > > > > > *Shivraj Singh* > > > Software Consultant > > > Knoldus Inc. <http://www.knoldus.com> > > > +91-8800782123 > > > Canada - USA - India - Singapore > > > <https://in.linkedin.com/company/knoldus> < > https://twitter.com/Knolspeak > > > > > > <https://www.facebook.com/KnoldusSoftware/> <https://blog.knoldus.com/ > > > > > > > > > > > On Thu, Feb 13, 2020 at 11:42 PM Julian Hyde <jh...@apache.org> wrote: > > > > > > > Note that Calcite's default parser only parses SQL in Calcite's > > > > dialect (with a little leeway such as choice of quoting characters). > > > > > > > > To parse other dialects, use the Babel parser. It can handle (or > could > > > > handle) SQL extensions that are not in standard SQL and which we > don't > > > > want to bring into Calcite SQL. PostgreSQL's "::" cast operator is an > > > > example of that. > > > > > > > > On Thu, Feb 13, 2020 at 4:00 AM Danny Chan <yuzhao....@gmail.com> > > wrote: > > > > > > > > > > If you want to parse the sql in PostgreSQL dialect, there is no way > > to > > > do > > > > > that now. You need a new SqlConformance actually. > > > > > > > > > > Shivraj Singh <shivraj.si...@knoldus.com>于2020年2月13日 周四下午3:50写道: > > > > > > > > > > > Hi, I want to parse the query of PostgreSQL via Calcite and > while I > > > am > > > > > > parsing the query using the calcite parser it gives me exception > > for > > > > system > > > > > > keyword. > > > > > > > > > > > > This is the program: > > > > > > This is the query : > > > > > > " select system from my_table;" > > > > > > > > > > > > val parser:SqlParser = SqlParser.create(query) > > > > > > parser.parseQuery() > > > > > > > > > > > > Exception I got. > > > > > > org.apache.calcite.sql.parser.SqlParseException: Encountered > > > > "*system*" at > > > > > > line 1, column 8. > > > > > > Was expecting one of: > > > > > > "ABS" ... > > > > > > "ALL" ... > > > > > > > > > > > > And I also got exception for this scenario to : > > > > > > query : > > > > > > INSERT INTO my_table(id,system_state) > > > > > > VALUES (?, ?::system_state_type) > > > > > > > > > > > > exception I got: > > > > > > org.apache.calcite.sql.parser.SqlParseException: Encountered > "*:*" > > at > > > > line. > > > > > > Was expecting one of: > > > > > > <EOF> > > > > > > "EXCEPT" ... > > > > > > > > > > > > Please help me > > > > > > 1. How to parse these queries? > > > > > > 2. Can we parse query using PostgresqlSqlDialect, if yes then > how. > > > > > > > > > > > > Thanks. > > > > > > > > > > > > *Shivraj Singh* > > > > > > Software Consultant > > > > > > Knoldus Inc. <http://www.knoldus.com> > > > > > > +91-8800782123 > > > > > > Canada - USA - India - Singapore > > > > > > <https://in.linkedin.com/company/knoldus> < > > > > https://twitter.com/Knolspeak> > > > > > > <https://www.facebook.com/KnoldusSoftware/> < > > > https://blog.knoldus.com/ > > > > > > > > > > > > > > > > > > > > >