You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ja...@apache.org on 2023/04/13 09:17:51 UTC

[doris] branch master updated: [minor](Nereids): rename func and add TODO. (#18633)

This is an automated email from the ASF dual-hosted git repository.

jakevin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 99558153f5 [minor](Nereids): rename func and add TODO. (#18633)
99558153f5 is described below

commit 99558153f51521875b75b9294709d28b09941227
Author: jakevin <ja...@gmail.com>
AuthorDate: Thu Apr 13 17:17:43 2023 +0800

    [minor](Nereids): rename func and add TODO. (#18633)
---
 fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java | 2 +-
 .../java/org/apache/doris/nereids/jobs/joinorder/JoinOrderJob.java    | 4 ++--
 .../apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java    | 4 ++--
 fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Group.java     | 3 ++-
 .../test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java    | 2 +-
 .../src/test/java/org/apache/doris/nereids/util/PlanChecker.java      | 4 ++--
 6 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
index 2cd44ccb38..24fba6776f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java
@@ -259,7 +259,7 @@ public class NereidsPlanner extends Planner {
 
     private void dpHypOptimize() {
         Group root = getRoot();
-        if (root.isJoinGroup()) {
+        if (root.isInnerJoinGroup()) {
             // If the root group is join group, DPHyp can change the root group.
             // To keep the root group is not changed, we add a project operator above join
             List<NamedExpression> outputs = ImmutableList.copyOf(root.getLogicalExpression().getPlan().getOutput());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/JoinOrderJob.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/JoinOrderJob.java
index d0465b9c97..466a0cd87d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/JoinOrderJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/JoinOrderJob.java
@@ -66,7 +66,7 @@ public class JoinOrderJob extends Job {
     }
 
     private Group optimizePlan(Group group) {
-        if (group.isJoinGroup()) {
+        if (group.isInnerJoinGroup()) {
             return optimizeJoin(group);
         }
         GroupExpression rootExpr = group.getLogicalExpression();
@@ -117,7 +117,7 @@ public class JoinOrderJob extends Job {
             processProjectPlan(hyperGraph, group);
             return;
         }
-        if (!group.isJoinGroup()) {
+        if (!group.isInnerJoinGroup()) {
             hyperGraph.addNode(optimizePlan(group));
             return;
         }
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
index 4ca7ddcdfb..e906ab30e0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/joinorder/hypergraph/HyperGraph.java
@@ -107,7 +107,7 @@ public class HyperGraph {
      * @param group The group that is the end node in graph
      */
     public void addNode(Group group) {
-        Preconditions.checkArgument(!group.isJoinGroup());
+        Preconditions.checkArgument(!group.isInnerJoinGroup());
         for (Slot slot : group.getLogicalExpression().getPlan().getOutput()) {
             Preconditions.checkArgument(!slotToNodeMap.containsKey(slot));
             slotToNodeMap.put(slot, LongBitmap.newBitmap(nodes.size()));
@@ -130,7 +130,7 @@ public class HyperGraph {
      * @param group The join group
      */
     public void addEdge(Group group) {
-        Preconditions.checkArgument(group.isJoinGroup());
+        Preconditions.checkArgument(group.isInnerJoinGroup());
         LogicalJoin<? extends Plan, ? extends Plan> join = (LogicalJoin) group.getLogicalExpression().getPlan();
         HashMap<Pair<Long, Long>, Pair<List<Expression>, List<Expression>>> conjuncts = new HashMap<>();
         for (Expression expression : join.getHashJoinConjuncts()) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Group.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Group.java
index 7cbb0847d4..f584425dfd 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Group.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Group.java
@@ -300,6 +300,7 @@ public class Group {
         parentExpressions.keySet().forEach(target::addParentExpression);
         // PhysicalEnforcer isn't in groupExpressions, so mergeGroup() can't replace its children.
         // So we need to manually replace the children of PhysicalEnforcer in here.
+        // TODO: SortEnforcer?
         parentExpressions.keySet().stream().filter(ge -> ge.getPlan() instanceof PhysicalDistribute)
                 .forEach(ge -> ge.children().set(0, target));
         parentExpressions.clear();
@@ -364,7 +365,7 @@ public class Group {
     /**
      * This function used to check whether the group is an end node in DPHyp
      */
-    public boolean isJoinGroup() {
+    public boolean isInnerJoinGroup() {
         Plan plan = getLogicalExpression().getPlan();
         if (plan instanceof LogicalJoin) {
             // Right now, we only support inner join
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
index 1e06e7e8cf..a3223f8281 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java
@@ -184,7 +184,7 @@ public class HyperGraphBuilder {
     }
 
     private void injectRowcount(Group group) {
-        if (!group.isJoinGroup()) {
+        if (!group.isInnerJoinGroup()) {
             LogicalOlapScan scanPlan = (LogicalOlapScan) group.getLogicalExpression().getPlan();
             HashMap<Expression, ColumnStatistic> slotIdToColumnStats = new HashMap<Expression, ColumnStatistic>();
             int count = rowCounts.get(Integer.parseInt(scanPlan.getTable().getName()));
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/PlanChecker.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/PlanChecker.java
index 238167ce3c..2bb557fb6b 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/util/PlanChecker.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/util/PlanChecker.java
@@ -204,7 +204,7 @@ public class PlanChecker {
         double now = System.currentTimeMillis();
         Group root = cascadesContext.getMemo().getRoot();
         boolean changeRoot = false;
-        if (root.isJoinGroup()) {
+        if (root.isInnerJoinGroup()) {
             // If the root group is join group, DPHyp can change the root group.
             // To keep the root group is not changed, we add a dummy project operator above join
             List<Slot> outputs = root.getLogicalExpression().getPlan().getOutput();
@@ -393,7 +393,7 @@ public class PlanChecker {
     public PlanChecker orderJoin() {
         Group root = cascadesContext.getMemo().getRoot();
         boolean changeRoot = false;
-        if (root.isJoinGroup()) {
+        if (root.isInnerJoinGroup()) {
             List<Slot> outputs = root.getLogicalExpression().getPlan().getOutput();
             // FIXME: can't match type, convert List<Slot> to List<NamedExpression>
             GroupExpression newExpr = new GroupExpression(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org