You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/03/01 06:22:24 UTC
(doris) 07/07: [fix](planner) should not push down sink when last exchange do limit (#31622)
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
commit a8e2652f78a625c7975e949510f2dde253fac5a2
Author: morrySnow <10...@users.noreply.github.com>
AuthorDate: Fri Mar 1 14:15:56 2024 +0800
[fix](planner) should not push down sink when last exchange do limit (#31622)
---
.../src/main/java/org/apache/doris/planner/ExchangeNode.java | 7 ++-----
.../src/main/java/org/apache/doris/planner/OriginalPlanner.java | 2 +-
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java
index 65a366fde16..4ada9a82f7c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java
@@ -105,11 +105,8 @@ public class ExchangeNode extends PlanNode {
computeTupleIds();
}
- public boolean isMergingExchange() {
- if (mergeInfo != null) {
- return true;
- }
- return false;
+ public boolean isFunctionalExchange() {
+ return mergeInfo != null || limit != -1 || offset != 0;
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
index cf93be1611c..0b3fbb9eb5f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OriginalPlanner.java
@@ -373,7 +373,7 @@ public class OriginalPlanner extends Planner {
PlanFragment topPlanFragment = fragments.get(0);
ExchangeNode topPlanNode = (ExchangeNode) topPlanFragment.getPlanRoot();
// try to push down result file sink
- if (topPlanNode.isMergingExchange()) {
+ if (topPlanNode.isFunctionalExchange()) {
return;
}
PlanFragment secondPlanFragment = fragments.get(1);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org