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