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();
     }
 

Reply via email to