Hi Gelbana, In order to use the Babel parser you need to also set an appropriate factory to your parser configuration since setting only the conformance is not enough.
Try adding the following: ... configBuilder().setParserFactory(SqlBabelParserImpl.FACTORY); Having said that I am not sure if Babel can handle the syntax you provided. Best, Stamatis Στις Σάβ, 9 Φεβ 2019 στις 10:46 μ.μ., ο/η Muhammad Gelbana < m.gelb...@gmail.com> έγραψε: > I'm trying to parse a PostgreSQL metadata query but a parsing exception is > thrown. > > Here is my code: > > Config parserConfig = > configBuilder().setConformance(SqlConformanceEnum.BABEL).build(); > FrameworkConfig frameworkConfig = > Frameworks.newConfigBuilder().parserConfig(parserConfig).build(); > Planner planner = Frameworks.getPlanner(frameworkConfig); > planner.parse("SELECT typinput='array_in'::regproc, 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"); > > *The exception title is* "Exception in thread "main" > org.apache.calcite.sql.parser.SqlParseException: Encountered ":" at line 1, > column 27." > > Am I doing something wrong or is the parser still not ready for such syntax > ? > > Thanks, > Gelbana >