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 4cb935019a2 [fix](Nereids): add whole tree rewriter when root is not 
CTEAnchor (#33591) (#35269)
4cb935019a2 is described below

commit 4cb935019a26827487e81809ae9a10f887500da6
Author: 谢健 <jianx...@gmail.com>
AuthorDate: Fri May 24 10:17:51 2024 +0800

    [fix](Nereids): add whole tree rewriter when root is not CTEAnchor (#33591) 
(#35269)
    
    pick from master ##33591
---
 .../nereids/jobs/rewrite/CostBasedRewriteJob.java      | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/CostBasedRewriteJob.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/CostBasedRewriteJob.java
index 2a7f0903b25..1ff91dfbac9 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/CostBasedRewriteJob.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/CostBasedRewriteJob.java
@@ -91,17 +91,13 @@ public class CostBasedRewriteJob implements RewriteJob {
             // set subtree rewrite cache
             currentCtx.getStatementContext().getRewrittenCteProducer()
                     .put(currentCtx.getCurrentTree().orElse(null), 
(LogicalPlan) cboCtx.getRewritePlan());
-            // Do Whole tree rewrite
-            CascadesContext rootCtxCopy = 
CascadesContext.newCurrentTreeContext(rootCtx);
-            
Rewriter.getWholeTreeRewriterWithoutCostBasedJobs(rootCtxCopy).execute();
-            // Do optimize
-            new Optimizer(rootCtxCopy).execute();
-            return rootCtxCopy.getMemo().getRoot().getLowestCostPlan(
-                    
rootCtxCopy.getCurrentJobContext().getRequiredProperties());
-        } else {
-            new Optimizer(cboCtx).execute();
-            return cboCtx.getMemo().getRoot().getLowestCostPlan(
-                    cboCtx.getCurrentJobContext().getRequiredProperties());
         }
+        // Do post tree rewrite
+        CascadesContext rootCtxCopy = 
CascadesContext.newCurrentTreeContext(rootCtx);
+        
Rewriter.getWholeTreeRewriterWithoutCostBasedJobs(rootCtxCopy).execute();
+        // Do optimize
+        new Optimizer(rootCtxCopy).execute();
+        return rootCtxCopy.getMemo().getRoot().getLowestCostPlan(
+                rootCtxCopy.getCurrentJobContext().getRequiredProperties());
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to