This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new ebe3625498a [fix](planner) should not push down sink when last
exchange do limit (#31622) (#31672)
ebe3625498a is described below
commit ebe3625498a5b481740f62be42cb4e656a6fadf9
Author: morrySnow <[email protected]>
AuthorDate: Fri Mar 1 18:54:23 2024 +0800
[fix](planner) should not push down sink when last exchange do limit
(#31622) (#31672)
pick from master #31622
commit id 585d12431c310c006b55bb81208b5805f381c3ed
---
.../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 bde891a8351..7c412f3ce88 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
@@ -99,11 +99,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 1140d326fe0..d171cfe67fc 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
@@ -362,7 +362,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: [email protected]
For additional commands, e-mail: [email protected]