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 <[email protected]>
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) {