morrySnow commented on code in PR #35584:
URL: https://github.com/apache/doris/pull/35584#discussion_r1618263930


##########
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRule.java:
##########
@@ -51,12 +51,15 @@ public List<ExpressionPatternMatcher<? extends Expression>> 
buildRules() {
 
     /** evaluate by visitor */
     public static Expression evaluate(Expression expr, 
ExpressionRewriteContext ctx) {
-        if (ctx.cascadesContext != null

Review Comment:
   do not change this function. u could do this by modify 
`org.apache.doris.nereids.rules.expression.rules.FoldConstantRuleOnBE#buildRules`.
 for example:
   ```java
       @Override
       public List<ExpressionPatternMatcher<? extends Expression>> buildRules() 
{
           return ImmutableList.of(
                   root(Expression.class)
                           .whenCtx(ctx -> 
!ctx.cascadesContext.getConnectContext().getSessionVariable().isDebugSkipFoldConstant())
                           .whenCtx(FoldConstantRuleOnBE::isEnableFoldByBe)
                           .thenApply(FoldConstantRuleOnBE::foldByBE)
           );
       }
   ```
   
   and 
   
   
`org.apache.doris.nereids.rules.expression.rules.FoldConstantRuleOnFE#matches`
   ```java
       private <E extends Expression> ExpressionPatternMatcher<? extends 
Expression> matches(
               Class<E> clazz, BiFunction<E, ExpressionRewriteContext, 
Expression> visitMethod) {
           return matchesType(clazz)
                   .whenCtx(ctx -> 
!ctx.cascadesContext.getConnectContext().getSessionVariable().isDebugSkipFoldConstant())
                   .whenCtx(NOT_UNDER_AGG_DISTINCT.as())
                   .thenApply(ctx -> visitMethod.apply(ctx.expr, 
ctx.rewriteContext));
       }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to