[CALCITE-2701] Make generated Baz classes immutable Revert the workaround introduced in EnumerableRelImplementor due to JANINO-169.
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/fbf193b1 Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/fbf193b1 Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/fbf193b1 Branch: refs/heads/master Commit: fbf193b19b382efee6ab6d31c98e796de0df0784 Parents: 36bd5fb Author: Stamatis Zampetakis <[email protected]> Authored: Fri Nov 23 11:58:10 2018 +0100 Committer: Julian Hyde <[email protected]> Committed: Sat Dec 1 14:43:58 2018 -0800 ---------------------------------------------------------------------- .../adapter/enumerable/EnumerableRelImplementor.java | 15 +-------------- .../test/java/org/apache/calcite/test/JdbcTest.java | 5 +++-- 2 files changed, 4 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/fbf193b1/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.java b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.java index 1b91d7f..b902926 100644 --- a/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.java +++ b/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableRelImplementor.java @@ -124,13 +124,6 @@ public class EnumerableRelImplementor extends JavaRelImplementor { final List<MemberDeclaration> memberDeclarations = new ArrayList<>(); new TypeRegistrar(memberDeclarations).go(result); - // The following is a workaround to - // http://jira.codehaus.org/browse/JANINO-169. Otherwise we'd remove the - // member variable, rename the "root0" parameter as "root", and reference it - // directly from inner classes. - final ParameterExpression root0_ = - Expressions.parameter(Modifier.FINAL, DataContext.class, "root0"); - // This creates the following code // final Integer v1stashed = (Integer) root.get("v1stashed") // It is convenient for passing non-literal "compile-time" constants @@ -145,20 +138,14 @@ public class EnumerableRelImplementor extends JavaRelImplementor { final BlockStatement block = Expressions.block( Iterables.concat( - ImmutableList.of( - Expressions.statement( - Expressions.assign(DataContext.ROOT, root0_))), stashed, result.block.statements)); memberDeclarations.add( - Expressions.fieldDecl(0, DataContext.ROOT, null)); - - memberDeclarations.add( Expressions.methodDecl( Modifier.PUBLIC, Enumerable.class, BuiltInMethod.BINDABLE_BIND.method.getName(), - Expressions.list(root0_), + Expressions.list(DataContext.ROOT), block)); memberDeclarations.add( Expressions.methodDecl(Modifier.PUBLIC, Class.class, http://git-wip-us.apache.org/repos/asf/calcite/blob/fbf193b1/core/src/test/java/org/apache/calcite/test/JdbcTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/calcite/test/JdbcTest.java b/core/src/test/java/org/apache/calcite/test/JdbcTest.java index f84f24f..3491b53 100644 --- a/core/src/test/java/org/apache/calcite/test/JdbcTest.java +++ b/core/src/test/java/org/apache/calcite/test/JdbcTest.java @@ -1381,8 +1381,9 @@ public class JdbcTest { /** Janino bug * <a href="https://jira.codehaus.org/browse/JANINO-169">[JANINO-169]</a> - * running queries against the JDBC adapter. As of janino-2.7.3 bug is - * open but we have a workaround in EnumerableRelImplementor. */ + * running queries against the JDBC adapter. The bug is not present with + * janino-3.0.9 so the workaround in EnumerableRelImplementor was removed. + */ @Test public void testJanino169() { CalciteAssert.that() .with(CalciteAssert.Config.JDBC_FOODMART)
