You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by kx...@apache.org on 2023/08/02 12:40:50 UTC
[doris] 02/03: [fix](nereids)move RecomputeLogicalPropertiesProcessor rule before topn optimization (#22488)
This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
commit bf7d1e010023fac7fdf0d3c0d8d89a696d21d855
Author: starocean999 <40...@users.noreply.github.com>
AuthorDate: Wed Aug 2 17:36:56 2023 +0800
[fix](nereids)move RecomputeLogicalPropertiesProcessor rule before topn optimization (#22488)
topn optimization will change MutableState. So need move RecomputeLogicalPropertiesProcessor rule before it
---
.../org/apache/doris/nereids/processor/post/PlanPostProcessors.java | 2 +-
.../org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java
index 3b47fb4b5d..40891e82a4 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java
@@ -69,9 +69,9 @@ public class PlanPostProcessors {
}
}
builder.add(new Validator());
+ builder.add(new RecomputeLogicalPropertiesProcessor());
builder.add(new TopNScanOpt());
builder.add(new TwoPhaseReadOpt());
- builder.add(new RecomputeLogicalPropertiesProcessor());
return builder.build();
}
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java
index 6cbbcbf071..18245c1442 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java
@@ -39,7 +39,7 @@ public class TopNRuntimeFilterTest extends SSBTestBase {
.rewrite()
.implement();
PhysicalPlan plan = checker.getPhysicalPlan();
- new PlanPostProcessors(checker.getCascadesContext()).process(plan);
+ plan = new PlanPostProcessors(checker.getCascadesContext()).process(plan);
Assertions.assertTrue(plan.children().get(0) instanceof PhysicalTopN);
PhysicalTopN localTopN = (PhysicalTopN) plan.children().get(0);
Assertions.assertTrue(localTopN.getMutableState(PhysicalTopN.TOPN_RUNTIME_FILTER).isPresent());
@@ -53,7 +53,7 @@ public class TopNRuntimeFilterTest extends SSBTestBase {
.rewrite()
.implement();
PhysicalPlan plan = checker.getPhysicalPlan();
- new PlanPostProcessors(checker.getCascadesContext()).process(plan);
+ plan = new PlanPostProcessors(checker.getCascadesContext()).process(plan);
Assertions.assertTrue(plan.children().get(0) instanceof PhysicalTopN);
PhysicalTopN localTopN = (PhysicalTopN) plan.children().get(0);
Assertions.assertFalse(localTopN.getMutableState(PhysicalTopN.TOPN_RUNTIME_FILTER).isPresent());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org