[fix](nereids) fix The children format needs to be [WhenClause+, DefaultValue?] (#38491) (#38546)

fix The children format needs to be [WhenClause+, DefaultValue?]
This commit is contained in:
924060929
2024-07-30 23:51:18 +08:00
committed by GitHub
parent e25eb733c1
commit 1ba1e343bd
2 changed files with 45 additions and 0 deletions

View File

@ -18,6 +18,7 @@
package org.apache.doris.nereids.trees.expressions.visitor;
import org.apache.doris.nereids.trees.expressions.Expression;
import org.apache.doris.nereids.trees.expressions.WhenClause;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
@ -33,6 +34,12 @@ public abstract class DefaultExpressionRewriter<C> extends ExpressionVisitor<Exp
return rewriteChildren(this, expr, context);
}
@Override
public Expression visitWhenClause(WhenClause whenClause, C context) {
// should not rewrite when clause to other expression because CaseWhen require WhenClause as children
return rewriteChildren(this, whenClause, context);
}
/** rewriteChildren */
public static final <E extends Expression, C> E rewriteChildren(
ExpressionVisitor<Expression, C> rewriter, E expr, C context) {