This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 92dc395f9a9d7538b7b622431f9bf6cdec9843c6 Author: starocean999 <[email protected]> AuthorDate: Sun Jan 28 00:23:22 2024 +0800 [fix](nereids)should always call visitBoundFunction first when binding ElementAt function (#30469) --- .../apache/doris/nereids/rules/expression/rules/FunctionBinder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FunctionBinder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FunctionBinder.java index 76d3b6748e1..f60f38f7649 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FunctionBinder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FunctionBinder.java @@ -200,7 +200,8 @@ public class FunctionBinder extends AbstractExpressionRewriteRule { @Override public Expression visitElementAt(ElementAt elementAt, ExpressionRewriteContext context) { - if (PushDownToProjectionFunction.validToPushDown(elementAt)) { + Expression boundFunction = visitBoundFunction(elementAt, context); + if (PushDownToProjectionFunction.validToPushDown(boundFunction)) { if (ConnectContext.get() != null && ConnectContext.get().getSessionVariable() != null && !ConnectContext.get().getSessionVariable().isEnableRewriteElementAtToSlot()) { @@ -214,7 +215,7 @@ public class FunctionBinder extends AbstractExpressionRewriteRule { // rewrite to slot and bound this slot return ElementAtToSlot.rewriteToSlot(elementAt, (SlotReference) slot); } - return visitBoundFunction(elementAt, context); + return boundFunction; } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
