birschick-bq commented on a change in pull request #2449:
URL: https://github.com/apache/calcite/pull/2449#discussion_r679357499
##########
File path:
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableInterpretable.java
##########
@@ -135,7 +135,8 @@ static Bindable getBindable(ClassDeclaration expr, String
s, int fieldCount)
throws CompileException, IOException, ExecutionException {
ICompilerFactory compilerFactory;
try {
- compilerFactory = CompilerFactoryFactory.getDefaultCompilerFactory();
+ compilerFactory = CompilerFactoryFactory.getDefaultCompilerFactory(
Review comment:
@zabetak Good question.
The root issue is that using Calcite in an "uber" JAR fails. When Calcite
tries to load the Janino compiler using the `CompilerFactoryFactory`, it fails
in the previous version of Janino commons library. This is because It was using
the `Thread.currentThread().getContextClassLoader()` which was `null` at
runtime.
I worked with the team at Janino to find a solution - where Calcite can pass
its class loader to the Janino factory class so that it has the working class's
class loader.
So we needed the latest version of Janino to get a fix to the problem of
using Calcite in an "uber" JAR.
Please see the origin [JIRA
issue](https://issues.apache.org/jira/browse/CALCITE-3745).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]