This is an automated email from the ASF dual-hosted git repository. ztao1987 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hawq.git
The following commit(s) were added to refs/heads/master by this push: new eee2d0dc8 HAWQ-1852. Fix find_udf eee2d0dc8 is described below commit eee2d0dc881b78d61743a7be131e670f6e480fe7 Author: ztao1987 <zhenglin.ta...@gmail.com> AuthorDate: Mon Dec 19 15:36:59 2022 +0800 HAWQ-1852. Fix find_udf If IsBuildInFunction returns false, then find_udf should return true directly, which means that the statement contains UDF. Otherwise, it should continue to recursively determine the args of FuncExpr through expression_tree_walker, because FuncExpr may contain recursive calls. For example, suppose "A" is an UDF, then "select A::text" meets this situation. The outter FuncExpr is "text" and the inner FuncExpr is "A". --- src/backend/cdb/cdbdatalocality.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/cdb/cdbdatalocality.c b/src/backend/cdb/cdbdatalocality.c index 67704b8c2..dda79c6b4 100644 --- a/src/backend/cdb/cdbdatalocality.c +++ b/src/backend/cdb/cdbdatalocality.c @@ -6142,8 +6142,8 @@ bool udf_collector_walker(Node *node, if(IsA(node,FuncExpr)){ if(!IsBuildInFunction(((FuncExpr *) node)->funcid)){ context->udf_exist = true; + return true; } - return false; } return expression_tree_walker(node, udf_collector_walker,