This is an automated email from the ASF dual-hosted git repository. danny0405 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/master by this push: new 5c01713 [CALCITE-3236] Handle issues found in static code analysis (DonnyZone) 5c01713 is described below commit 5c017135b6b923abbf1b465ac1962bcec7886dfd Author: wellfengzhu <wellfeng...@gmail.com> AuthorDate: Thu Aug 8 13:20:27 2019 +0800 [CALCITE-3236] Handle issues found in static code analysis (DonnyZone) close apache/calcite#1362 --- .../java/org/apache/calcite/plan/SubstitutionVisitor.java | 3 ++- .../apache/calcite/rel/mutable/MutableTableFunctionScan.java | 2 +- .../test/java/org/apache/calcite/test/MutableRelTest.java | 12 ++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java b/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java index 4bbf8e9..b477fbc 100644 --- a/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java +++ b/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java @@ -757,7 +757,8 @@ public class SubstitutionVisitor { private UnifyResult apply(UnifyRule rule, MutableRel query, MutableRel target) { - final UnifyRuleCall call = new UnifyRuleCall(rule, query, target, null); + final UnifyRuleCall call = + new UnifyRuleCall(rule, query, target, ImmutableList.of()); return rule.apply(call); } diff --git a/core/src/main/java/org/apache/calcite/rel/mutable/MutableTableFunctionScan.java b/core/src/main/java/org/apache/calcite/rel/mutable/MutableTableFunctionScan.java index 514cdf2..c5dc296 100644 --- a/core/src/main/java/org/apache/calcite/rel/mutable/MutableTableFunctionScan.java +++ b/core/src/main/java/org/apache/calcite/rel/mutable/MutableTableFunctionScan.java @@ -69,7 +69,7 @@ public class MutableTableFunctionScan extends MutableMultiRel { ((MutableTableFunctionScan) obj).elementType) && Objects.equals(columnMappings, ((MutableTableFunctionScan) obj).columnMappings) - && inputs.equals(((MutableSetOp) obj).getInputs()); + && inputs.equals(((MutableTableFunctionScan) obj).getInputs()); } @Override public int hashCode() { diff --git a/core/src/test/java/org/apache/calcite/test/MutableRelTest.java b/core/src/test/java/org/apache/calcite/test/MutableRelTest.java index 3427a96..d112852 100644 --- a/core/src/test/java/org/apache/calcite/test/MutableRelTest.java +++ b/core/src/test/java/org/apache/calcite/test/MutableRelTest.java @@ -204,6 +204,18 @@ public class MutableRelTest { } } + @Test public void testMutableTableFunctionScanEquals() { + final String sql = "SELECT * FROM TABLE(RAMP(3))"; + final MutableRel mutableRel1 = createMutableRel(sql); + final MutableRel mutableRel2 = createMutableRel(sql); + final String actual = RelOptUtil.toString(MutableRels.fromMutable(mutableRel1)); + final String expected = "" + + "LogicalProject(I=[$0])\n" + + " LogicalTableFunctionScan(invocation=[RAMP(3)], rowType=[RecordType(INTEGER I)])\n"; + MatcherAssert.assertThat(actual, Matchers.isLinux(expected)); + Assert.assertEquals(mutableRel1, mutableRel2); + } + /** Verifies that after conversion to and from a MutableRel, the new * RelNode remains identical to the original RelNode. */ private static void checkConvertMutableRel(String rel, String sql) {