This is an automated email from the ASF dual-hosted git repository.
hyuan 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 2f68352 [CALCITE-3991] The required should always be provided in
RelSet.getOrCreateSubset() (Botong Huang)
2f68352 is described below
commit 2f68352c6dc9d05c6cb71516dac1105c27722154
Author: botong.huang <[email protected]>
AuthorDate: Mon May 11 15:19:01 2020 -0700
[CALCITE-3991] The required should always be provided in
RelSet.getOrCreateSubset() (Botong Huang)
Close #2001
---
.../java/org/apache/calcite/plan/volcano/RelSet.java | 4 ----
.../org/apache/calcite/plan/volcano/RelSubset.java | 2 +-
.../apache/calcite/plan/volcano/VolcanoPlanner.java | 20 +++-----------------
3 files changed, 4 insertions(+), 22 deletions(-)
diff --git a/core/src/main/java/org/apache/calcite/plan/volcano/RelSet.java
b/core/src/main/java/org/apache/calcite/plan/volcano/RelSet.java
index 4aeec2a..09e6f37 100644
--- a/core/src/main/java/org/apache/calcite/plan/volcano/RelSet.java
+++ b/core/src/main/java/org/apache/calcite/plan/volcano/RelSet.java
@@ -282,10 +282,6 @@ class RelSet {
}
}
- RelSubset getOrCreateSubset(RelOptCluster cluster, RelTraitSet traits) {
- return getOrCreateSubset(cluster, traits, false);
- }
-
RelSubset getOrCreateSubset(
RelOptCluster cluster, RelTraitSet traits, boolean required) {
boolean needsConverter = false;
diff --git a/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
b/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
index ad37268..8b0a78a 100644
--- a/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
+++ b/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
@@ -194,7 +194,7 @@ public class RelSubset extends AbstractRelNode {
if (traitSet1.equals(this.traitSet)) {
return this;
}
- return set.getOrCreateSubset(getCluster(), traitSet1);
+ return set.getOrCreateSubset(getCluster(), traitSet1, isRequired());
}
throw new UnsupportedOperationException();
}
diff --git
a/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
b/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
index d7dcd5f..8374f1b 100644
--- a/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
+++ b/core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
@@ -773,16 +773,7 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
}
}
- public RelSubset getSubset(
- RelNode rel,
- RelTraitSet traits) {
- return getSubset(rel, traits, false);
- }
-
- public RelSubset getSubset(
- RelNode rel,
- RelTraitSet traits,
- boolean createIfMissing) {
+ public RelSubset getSubset(RelNode rel, RelTraitSet traits) {
if ((rel instanceof RelSubset) && (rel.getTraitSet().equals(traits))) {
return (RelSubset) rel;
}
@@ -790,9 +781,6 @@ public class VolcanoPlanner extends AbstractRelOptPlanner {
if (set == null) {
return null;
}
- if (createIfMissing) {
- return set.getOrCreateSubset(rel.getCluster(), traits);
- }
return set.getSubset(traits);
}
@@ -1097,10 +1085,8 @@ public class VolcanoPlanner extends
AbstractRelOptPlanner {
// Was the set we merged with the root? If so, the result is the new
// root.
if (set2 == getSet(root)) {
- root =
- set.getOrCreateSubset(
- root.getCluster(),
- root.getTraitSet());
+ root = set.getOrCreateSubset(
+ root.getCluster(), root.getTraitSet(), root.isRequired());
ensureRootConverters();
}