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 <[email protected]> wrote: > You should extend the babel parser by yourself. > > Shivraj Singh <[email protected]>于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 <[email protected]> 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 <[email protected]> > 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 <[email protected]>于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/ > > > > > > > > > > > > > > >
