Il dom 15 apr 2018, 14:22 Vova Vysotskyi <vvo...@gmail.com> ha scritto:
> I have reproduced it in Janino only and created the issue: > https://github.com/janino-compiler/janino/issues/47 Great work Vova, Thank you Enrico > > > > Kind regards, > Volodymyr Vysotskyi > > 2018-04-14 20:15 GMT+03:00 Vova Vysotskyi <vvo...@gmail.com>: > > > Ok, I will try to prepare a test case and will log a bug on Janino soon. > > > > Kind regards, > > Volodymyr Vysotskyi > > > > 2018-04-14 20:02 GMT+03:00 Julian Hyde <jh...@apache.org>: > > > >> Vova, > >> > >> Thanks for doing the research. Your explanation sounds very plausible > >> (I suspected default methods, too). Can you please log a bug on > >> JANINO? https://github.com/janino-compiler/janino/issues Arno, the > >> project maintainer, has been very good to us over the years. > >> > >> Julian > >> > >> > >> On Sat, Apr 14, 2018 at 9:28 AM, Enrico Olivelli <eolive...@gmail.com> > >> wrote: > >> > Il sab 14 apr 2018, 18:20 Enrico Olivelli <eolive...@gmail.com> ha > >> scritto: > >> > > >> >> > >> >> > >> >> Il sab 14 apr 2018, 17:39 Vova Vysotskyi <vvo...@gmail.com> ha > >> scritto: > >> >> > >> >>> Hi all, > >> >>> > >> >>> I think the reason for this issue is that at the compile stage was > >> assumed > >> >>> that *getSubSchema()* method returns *Schema *inheritor, but not > >> >>> *SchemaPlus*. > >> >>> But the interesting thing is that with Java 8, methods list of > >> >>> *SchemaPlus *interface > >> >>> contains default *getSubSchema()* method. > >> >>> It may be observed by executing this code: > >> >>> * Method[] declaredMethods = > >> >>> > >> >>> Class.forName("org.apache.calcite.schema.SchemaPlus").getDec > >> laredMethods();* > >> >>> * for (Method m : declaredMethods) {* > >> >>> * if (m.getName().equals("getSubSchema")) {* > >> >>> * System.out.println(m);* > >> >>> * }* > >> >>> * }* > >> >>> > >> >>> Its output: > >> >>> > >> >>> *public default org.apache.calcite.schema.Schema > >> >>> org.apache.calcite.schema.SchemaPlus.getSubSchema(java.lang.String)* > >> >>> *public abstract org.apache.calcite.schema.SchemaPlus > >> >>> org.apache.calcite.schema.SchemaPlus.getSubSchema(java.lang.String)* > >> >>> > >> >>> The output of the same code for Java 7: > >> >>> > >> >>> *public abstract org.apache.calcite.schema.SchemaPlus > >> >>> org.apache.calcite.schema.SchemaPlus.getSubSchema(java.lang.String)* > >> >>> > >> >>> Kind regards, > >> >>> Volodymyr Vysotskyi > >> >>> > >> >> > >> >> Good catch! > >> >> It would be useful to look into that 'default' method by > disassembling > >> >> .class file. > >> >> Enrico > >> >> > >> > > >> > Anyway a fix would be to add an unwrap method to Schema > >> > Cheers > >> > Enrico > >> > > >> > > >> >> > >> >> > >> >>> 2018-04-10 18:43 GMT+03:00 Julian Hyde <jhyde.apa...@gmail.com>: > >> >>> > >> >>> > I’d really appreciate that. > >> >>> > > >> >>> > Can you please log a JIRA case, and record your > >> observations/progress > >> >>> > there. > >> >>> > > >> >>> > There’s no particular hurry on this one. > >> >>> > > >> >>> > Julian > >> >>> > > >> >>> > > On Apr 10, 2018, at 06:32, Enrico Olivelli <eolive...@gmail.com > > > >> >>> wrote: > >> >>> > > > >> >>> > > 2018-04-10 13:48 GMT+02:00 Julian Hyde <jhyde.apa...@gmail.com > >: > >> >>> > > > >> >>> > >> Yes, that’s it. > >> >>> > >> > >> >>> > >> Next step would be to check whether the generated code is the > >> same as > >> >>> > >> previously, and if so, it is a Janino bug. Then try to create a > >> >>> minimal > >> >>> > >> test case for Janino. Maybe we can work around by adding an > >> explicit > >> >>> > cast > >> >>> > >> somewhere. > >> >>> > >> > >> >>> > >> Thanks for reproducing this, and trying the Janino upgrade. > >> >>> > >> > >> >>> > > > >> >>> > > > >> >>> > > Julian, > >> >>> > > If you have no hurry for this I will be happy to spend some time > >> in > >> >>> order > >> >>> > > to figure out the root cause. > >> >>> > > > >> >>> > > I will follow the discussion and jump in when I have some idea. > >> >>> > > > >> >>> > > It will be great to have Calcite really built on jdk8 and > leverage > >> >>> > lambdas > >> >>> > > > >> >>> > > > >> >>> > > Cheers > >> >>> > > Enrico > >> >>> > > > >> >>> > > > >> >>> > > > >> >>> > >> > >> >>> > >> Julian > >> >>> > >> > >> >>> > >>> On Apr 10, 2018, at 3:37 AM, Enrico Olivelli < > >> eolive...@gmail.com> > >> >>> > >> wrote: > >> >>> > >>> > >> >>> > >>> This is "the" error (see below). Unfortunately just be > upgrading > >> >>> Janino > >> >>> > >> to > >> >>> > >>> 3.0.8 the problem still is present. > >> >>> > >>> > >> >>> > >>> the only 'unwrap' word in the generated code is here > >> >>> > >>> ... > >> >>> > >>> public org.apache.calcite.linq4j.Enumerable bind(final > >> >>> > >>> org.apache.calcite.DataContext root0) { > >> >>> > >>> root = root0; > >> >>> > >>> final org.apache.calcite.linq4j.Enumerable _inputEnumerable = > >> >>> > >>> org.apache.calcite.linq4j.Linq4j.asEnumerable(((org. > >> >>> > apache.calcite.test. > >> >>> > >> ReflectiveSchemaTest.CatchallSchema) > >> >>> > >>> ((org.apache.calcite.adapter.java.ReflectiveSchema) > >> >>> > >>> root.getRootSchema().getSubSchema("s").unwrap(org. > >> >>> > >> apache.calcite.adapter.java.ReflectiveSchema.class)). > >> >>> > >> getTarget()).nullables); > >> >>> > >>> .... > >> >>> > >>> > >> >>> > >>> Does any ring bell ? > >> >>> > >>> > >> >>> > >>> Enrico > >> >>> > >>> > >> >>> > >>> > >> >>> > >>> Caused by: org.codehaus.commons.compiler.CompileException: > >> Line 5, > >> >>> > >> Column > >> >>> > >>> 272: A method named "unwrap" is not declared in any enclosing > >> class > >> >>> nor > >> >>> > >> any > >> >>> > >>> supertype, nor through a static import > >> >>> > >>>> at > >> >>> > >>> > >> >>> org.codehaus.janino.UnitCompiler.compileError(UnitCompiler. > >> java:11821) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler. > >> java:8731) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4737) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$8300( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4097) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> org.codehaus.janino.Java$MethodInvocation.accept(Java.java:4902) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5253) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4696) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$7800( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> > >> >>> > org.codehaus.janino.UnitCompiler$12.visitCast(UnitCompiler.java:4092) > >> >>> > >>>> at > >> >>> > >>> > >> >>> > org.codehaus.janino.UnitCompiler$12.visitCast(UnitCompiler.java:4070) > >> >>> > >>>> at org.codehaus.janino.Java$Cast.accept(Java.java:4727) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4732) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$7300( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpr > >> ession( > >> >>> > >> UnitCompiler.java:4083) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpr > >> ession( > >> >>> > >> UnitCompiler.java:4074) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.Java$ParenthesizedExpression. > >> >>> > accept(Java.java:4753) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitLvalue( > >> >>> > UnitCompiler.java:4074) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitLvalue( > >> >>> > UnitCompiler.java:4070) > >> >>> > >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5253) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4792) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$8300( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4097) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> org.codehaus.janino.Java$MethodInvocation.accept(Java.java:4902) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5253) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4696) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$7800( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> > >> >>> > org.codehaus.janino.UnitCompiler$12.visitCast(UnitCompiler.java:4092) > >> >>> > >>>> at > >> >>> > >>> > >> >>> > org.codehaus.janino.UnitCompiler$12.visitCast(UnitCompiler.java:4070) > >> >>> > >>>> at org.codehaus.janino.Java$Cast.accept(Java.java:4727) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4732) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$7300( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpr > >> ession( > >> >>> > >> UnitCompiler.java:4083) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpr > >> ession( > >> >>> > >> UnitCompiler.java:4074) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.Java$ParenthesizedExpression. > >> >>> > accept(Java.java:4753) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitLvalue( > >> >>> > UnitCompiler.java:4074) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitLvalue( > >> >>> > UnitCompiler.java:4070) > >> >>> > >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5253) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileContext2( > >> >>> > UnitCompiler.java:4010) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$6100( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11$1.visitFieldAccess( > >> UnitCompiler. > >> >>> > >> java:3947) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11$1.visitFieldAccess( > >> UnitCompiler. > >> >>> > >> java:3942) > >> >>> > >>>> at org.codehaus.janino.Java$Field > >> Access.accept(Java.java:4139) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11.visitLvalue( > >> >>> > UnitCompiler.java:3942) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11.visitLvalue( > >> >>> > UnitCompiler.java:3938) > >> >>> > >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileContext( > >> >>> > UnitCompiler.java:3938) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileContext2( > >> >>> > UnitCompiler.java:4047) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$6200( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11$1.visitFieldAccessExpres > >> sion( > >> >>> > >> UnitCompiler.java:3948) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11$1.visitFieldAccessExpres > >> sion( > >> >>> > >> UnitCompiler.java:3942) > >> >>> > >>>> at > >> >>> > >>> > >> >>> > org.codehaus.janino.Java$FieldAccessExpression.accept(Java.java:4468) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11.visitLvalue( > >> >>> > UnitCompiler.java:3942) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$11.visitLvalue( > >> >>> > UnitCompiler.java:3938) > >> >>> > >>>> at org.codehaus.janino.Java$Lvalue.accept(Java.java:3977) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileContext( > >> >>> > UnitCompiler.java:3938) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5252) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler. > >> java:4842) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$8300( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4097) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$12.visitMethodInvocation( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> org.codehaus.janino.Java$MethodInvocation.accept(Java.java:4902) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compileGet( > >> >>> > >> UnitCompiler.java:4070) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler.compileGetValue( > >> >>> > UnitCompiler.java:5253) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.compile2( > >> >>> > UnitCompiler.java:2559) > >> >>> > >>>> at org.codehaus.janino.UnitCompiler.access$2700( > >> >>> > >> UnitCompiler.java:212) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclara > >> tionS > >> >>> > >> tatement(UnitCompiler.java:1482) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclara > >> tionS > >> >>> > >> tatement(UnitCompiler.java:1466) > >> >>> > >>>> at > >> >>> > >>> org.codehaus.janino.Java$LocalVariableDeclarationStatem > >> >>> > >> ent.accept(Java.java:3351) > >> >>> > >>>> at > >> >>> org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1466) > >> >>> > >>>> at org.cod (stack truncated) > >> >>> > >>> > >> >>> > >>> > >> >>> > >>> 2018-04-09 23:10 GMT+02:00 Cade Markegard < > >> cademarkeg...@gmail.com > >> >>> >: > >> >>> > >>> > >> >>> > >>>> Awesome! > >> >>> > >>>> > >> >>> > >>>> On Mon, Apr 9, 2018 at 1:29 PM Enrico Olivelli < > >> >>> eolive...@gmail.com> > >> >>> > >>>> wrote: > >> >>> > >>>> > >> >>> > >>>>> Il lun 9 apr 2018, 22:20 Cade Markegard < > >> cademarkeg...@gmail.com> > >> >>> ha > >> >>> > >>>>> scritto: > >> >>> > >>>>> > >> >>> > >>>>>> Not sure if this is related, but it seems like Janino > doesn't > >> >>> > support > >> >>> > >>>>> Java8 > >> >>> > >>>>>> lambdas under "Limitations" in > http://janino-compiler.github > >> . > >> >>> > >>>> io/janino/ > >> >>> > >>>>> > >> >>> > >>>>> > >> >>> > >>>>> > >> >>> > >>>>> This should not be a problem, we are not generating java > >> sources > >> >>> with > >> >>> > >>>>> lambdas (maybe in future?). > >> >>> > >>>>> I will be happy to do some trials with new Janino, but I > guess > >> >>> that > >> >>> > >> would > >> >>> > >>>>> be the only way (or to drop Janino, but I think it will be > >> >>> harder). I > >> >>> > >>>> have > >> >>> > >>>>> not much time these days. > >> >>> > >>>>> > >> >>> > >>>>> Anyhow I am testing my apps on jdk10 and Calcite is working > >> like a > >> >>> > >> charm > >> >>> > >>>> ! > >> >>> > >>>>> > >> >>> > >>>>> Enrico > >> >>> > >>>>> > >> >>> > >>>>>> > >> >>> > >>>>>> > >> >>> > >>>>>>> On Mon, Apr 9, 2018 at 12:54 PM Julian Hyde < > >> jh...@apache.org> > >> >>> > >> wrote: > >> >>> > >>>>>>> > >> >>> > >>>>>>> I didn’t try. We’re on janino 2.7.6. The 2.x line only > goes > >> up > >> >>> to > >> >>> > >>>>> 2.7.8. > >> >>> > >>>>>>> I’m not eager to try upgrading to 3.x (latest release is > >> 3.0.8) > >> >>> > >>>>>> especially > >> >>> > >>>>>>> as they don’t explicitly mention fixing a JDK 8 issue. > >> >>> > >>>>>>> > >> >>> > >>>>>>> http://janino-compiler.github.io/janino/changelog.html < > >> >>> > >>>>>>> http://janino-compiler.github.io/janino/changelog.html> > >> >>> > >>>>>>> > >> >>> > >>>>>>> > >> >>> > >>>>>>>> On Apr 9, 2018, at 12:42 PM, Enrico Olivelli < > >> >>> eolive...@gmail.com > >> >>> > > > >> >>> > >>>>>>> wrote: > >> >>> > >>>>>>>> > >> >>> > >>>>>>>> Il lun 9 apr 2018, 21:37 Julian Hyde <jh...@apache.org > >> >>> <mailto: > >> >>> > >>>>>>> jh...@apache.org>> ha scritto: > >> >>> > >>>>>>>> > >> >>> > >>>>>>>>> Don’t have the error stack, but janino could not compile > >> >>> > generated > >> >>> > >>>>>> code > >> >>> > >>>>>>>>> because it said an “unwrap” method did not exist. > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>> There were no lambdas. I think perhaps that version of > >> janino > >> >>> > >>>> could > >> >>> > >>>>>> not > >> >>> > >>>>>>>>> fully understand the Calcite class files. > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>> To reproduce, change 2 lines in core/pom.xml and run > “mvn > >> >>> test”. > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>> > >> >>> > >>>>>>>> Did you try to update to latest Janino? > >> >>> > >>>>>>>> It seems to that we have an old version (2.7.6) > >> >>> > >>>>>>>> > >> >>> > >>>>>>>> Enrico > >> >>> > >>>>>>>> > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>> Julian > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>>> On Apr 9, 2018, at 12:15 PM, Enrico Olivelli < > >> >>> > >>>> eolive...@gmail.com> > >> >>> > >>>>>>>>> wrote: > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> Il lun 9 apr 2018, 19:05 Julian Hyde <jh...@apache.org > > > >> ha > >> >>> > >>>>> scritto: > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>>> Has anyone had any luck using JDK 8 syntax (e.g. “->” > >> for > >> >>> > >>>> lambdas) > >> >>> > >>>>>> in > >> >>> > >>>>>>>>>>> Calcite? > >> >>> > >>>>>>>>>>> > >> >>> > >>>>>>>>>>> In core/pom.xml I changed source=1.7 target=1.7 to > >> source=8 > >> >>> > >>>>> target=8 > >> >>> > >>>>>>> and > >> >>> > >>>>>>>>>>> it allowed the syntax but it seemed to break any tests > >> that > >> >>> > >>>> relied > >> >>> > >>>>>> on > >> >>> > >>>>>>>>>>> janino. > >> >>> > >>>>>>>>>>> > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> Julian, > >> >>> > >>>>>>>>>> Could you please share a stacktrace of your error? > >> >>> > >>>>>>>>>> As far as I know using lambdas is not only a matter of > >> >>> syntactic > >> >>> > >>>>>> sugar > >> >>> > >>>>>>>>> but > >> >>> > >>>>>>>>>> they are more efficient than simple anonymous classes. > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> Cheers > >> >>> > >>>>>>>>>> Enrico > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>>> Related: https://issues.apache.org/jira > >> /browse/CALCITE-2027 > >> >>> < > >> >>> > >>>>>>>>>>> https://issues.apache.org/jira/browse/CALCITE-2027> > >> >>> > >>>>>>>>>>> > >> >>> > >>>>>>>>>>> Julian > >> >>> > >>>>>>>>>>> > >> >>> > >>>>>>>>>>> -- > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> > >> >>> > >>>>>>>>>> -- Enrico Olivelli > >> >>> > >>>>>>>>> > >> >>> > >>>>>>>>> -- > >> >>> > >>>>>>>> > >> >>> > >>>>>>>> > >> >>> > >>>>>>>> -- Enrico Olivelli > >> >>> > >>>>>>> > >> >>> > >>>>>>> > >> >>> > >>>>>> > >> >>> > >>>>> -- > >> >>> > >>>>> > >> >>> > >>>>> > >> >>> > >>>>> -- Enrico Olivelli > >> >>> > >>>>> > >> >>> > >>>> > >> >>> > >> > >> >>> > > >> >>> > >> >> -- > >> >> > >> >> > >> >> -- Enrico Olivelli > >> >> > >> > -- > >> > > >> > > >> > -- Enrico Olivelli > >> > > > > > -- -- Enrico Olivelli