Mihai Budiu created CALCITE-6029: ------------------------------------ Summary: SqlOperatorTest cannot test operators that require the Babel parser Key: CALCITE-6029 URL: https://issues.apache.org/jira/browse/CALCITE-6029 Project: Calcite Issue Type: Bug Components: babel, core Affects Versions: 1.35.0 Reporter: Mihai Budiu
In SqlOperatorTest one can write code like this: {code:java} @Test void testDatePart() { final SqlOperatorFixture f = fixture().withLibrary(SqlLibrary.POSTGRESQL) .withParserConfig(p -> p.withParserFactory(SqlBabelParserImpl.FACTORY)); {code} This almost works, but the SqlOperatorTest.check function makes a connection ignores the parserFactory, so parsing will fail: {code:java} @Override public void check(SqlTestFactory factory, String query, SqlTester.TypeChecker typeChecker, SqlTester.ParameterChecker parameterChecker, SqlTester.ResultChecker resultChecker) { super.check(factory, query, typeChecker, parameterChecker, resultChecker); final RelDataTypeSystem typeSystem = factory.typeSystemTransform.apply(RelDataTypeSystem.DEFAULT); final ConnectionFactory connectionFactory = factory.connectionFactory .with(CalciteConnectionProperty.TYPE_SYSTEM, uri(FIELD)); /// NO PARSER_FACTORY HERE {code} I am trying to fix this by adding a PARSER_FACTORY argument to the connection, but then I get a class loader error from AvaticaUtils.instantiatePlugin, which, in this case, cannot find the SqlBabelParserImpl#FACTORY in the classpath. I would appreciate some help solving this last bit. -- This message was sent by Atlassian Jira (v8.20.10#820010)