diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/ApplyRuleJob.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/ApplyRuleJob.java index 0cb3e0dbd8..3b2864013b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/ApplyRuleJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/ApplyRuleJob.java @@ -66,7 +66,7 @@ public class ApplyRuleJob extends Job { for (Plan newPlan : newPlans) { CopyInResult result = context.getCascadesContext() .getMemo() - .copyIn(newPlan, groupExpression.getOwnerGroup(), rule.isRewrite()); + .copyIn(newPlan, groupExpression.getOwnerGroup(), false); if (!result.generateNewExpression) { continue; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RulePromise.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RulePromise.java index c02caa363b..eb58e7734f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RulePromise.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RulePromise.java @@ -19,12 +19,13 @@ package org.apache.doris.nereids.rules; /** * Promise of rule, The value with a large promise has a higher priority. + * NOTICE: we must ensure that the promise of the IMPLEMENT is greater than the promise of the others. */ public enum RulePromise { + ANALYSIS, + REWRITE, EXPLORE, IMPLEMENT, - REWRITE, - ANALYSIS, // just for check plan in UT PLAN_CHECK