This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 82887cc2b35 [improvement](mtmv)Split expression get cherry pick21
(#35240)
82887cc2b35 is described below
commit 82887cc2b35e073a2b83bf48cc8e44bceef62fcb
Author: seawinde <[email protected]>
AuthorDate: Thu May 23 18:59:56 2024 +0800
[improvement](mtmv)Split expression get cherry pick21 (#35240)
* [improvement](mtmv) Split the expression mapping in
LogicalCompatibilityContext for performance (#34646)
Need query to view expression mapping when check the logic of hyper graph
is equals or not.
Getting all expression mapping one-time may affect performance. So split
the expresson to three type
JOIN_EDGE, NODE, FILTER_EDGE and get them step by step.
* fix code style
---
.../nereids/rules/exploration/mv/LogicalCompatibilityContext.java | 8 --------
1 file changed, 8 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/LogicalCompatibilityContext.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/LogicalCompatibilityContext.java
index ca13c9701da..06098b59185 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/LogicalCompatibilityContext.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/LogicalCompatibilityContext.java
@@ -18,7 +18,6 @@
package org.apache.doris.nereids.rules.exploration.mv;
import org.apache.doris.nereids.jobs.joinorder.hypergraph.node.StructInfoNode;
-import org.apache.doris.nereids.memo.GroupExpression;
import
org.apache.doris.nereids.rules.exploration.mv.StructInfo.ExpressionPosition;
import
org.apache.doris.nereids.rules.exploration.mv.mapping.Mapping.MappedRelation;
import org.apache.doris.nereids.rules.exploration.mv.mapping.RelationMapping;
@@ -28,7 +27,6 @@ import org.apache.doris.nereids.trees.expressions.Expression;
import org.apache.doris.nereids.trees.expressions.NamedExpression;
import org.apache.doris.nereids.trees.expressions.SlotReference;
import
org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionRewriter;
-import org.apache.doris.nereids.trees.plans.ObjectId;
import org.apache.doris.nereids.trees.plans.RelationId;
import org.apache.doris.nereids.util.ExpressionUtils;
import org.apache.doris.nereids.util.Utils;
@@ -47,12 +45,9 @@ import java.util.function.Supplier;
public class LogicalCompatibilityContext {
private final BiMap<StructInfoNode, StructInfoNode> queryToViewNodeMapping;
private final BiMap<Integer, Integer> queryToViewNodeIDMapping;
- private final ObjectId planNodeId;
private final Supplier<BiMap<Expression, Expression>>
queryToViewJoinEdgeExpressionMappingSupplier;
private final Supplier<BiMap<Expression, Expression>>
queryToViewNodeExpressionMappingSupplier;
private final Supplier<BiMap<Expression, Expression>>
queryToViewFilterEdgeExpressionMappingSupplier;
- @Deprecated
- private BiMap<Expression, Expression> queryToViewAllExpressionMapping;
/**
* LogicalCompatibilityContext
@@ -79,9 +74,6 @@ public class LogicalCompatibilityContext {
this.queryToViewNodeMapping = queryToViewNodeMapping;
this.queryToViewNodeIDMapping = HashBiMap.create();
queryToViewNodeMapping.forEach((k, v) ->
queryToViewNodeIDMapping.put(k.getIndex(), v.getIndex()));
-
- this.planNodeId = queryStructInfo.getTopPlan().getGroupExpression()
- .map(GroupExpression::getId).orElseGet(() -> new ObjectId(-1));
}
public BiMap<StructInfoNode, StructInfoNode> getQueryToViewNodeMapping() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]