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.visitParenthesizedExpression(UnitCompiler.java:4083)
>     at
org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpression(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.visitParenthesizedExpression(UnitCompiler.java:4083)
>     at
org.codehaus.janino.UnitCompiler$12$1.visitParenthesizedExpression(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$FieldAccess.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.visitFieldAccessExpression(UnitCompiler.java:3948)
>     at
org.codehaus.janino.UnitCompiler$11$1.visitFieldAccessExpression(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.visitLocalVariableDeclarationStatement(UnitCompiler.java:1482)
>     at
org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1466)
>     at
org.codehaus.janino.Java$LocalVariableDeclarationStatement.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
> >
>

Reply via email to