github-actions[bot] commented on code in PR #64531:
URL: https://github.com/apache/doris/pull/64531#discussion_r3412672535
##########
be/src/exprs/function/simple_function_factory.h:
##########
@@ -303,8 +301,6 @@ class SimpleFunctionFactory {
register_function_string(instance);
register_function_in(instance);
register_function_collection_in(instance);
- register_function_if(instance);
Review Comment:
Removing `nullif` from `SimpleFunctionFactory` is not safe unless every FE
path rewrites it before thrift serialization. The new rewrite is only in
Nereids expression normalization, but legacy `FunctionCallExpr` still
serializes non-aggregate calls as `TExprNodeType.FUNCTION_CALL`
(`ExprToThriftVisitor`), BE `vexpr.cpp` only special-cases
`if`/`ifnull`/`nvl`/`coalesce`, and `VectorizedFnCall` now cannot resolve
`nullif`. Non-Nereids queries (`enable_nereids_planner=false`) and load column
mappings translated through `PlanUtils.translateToLegacyExpr` can still reach
BE as `nullif`, so they will fail with "Could not find function nullif". Please
keep the BE function or add the rewrite to all legacy/load translation paths
and cover those paths with tests.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]