diff --git a/src/sql/resolver/expr/ob_raw_expr_util.cpp b/src/sql/resolver/expr/ob_raw_expr_util.cpp index b333696486..f20a5b1804 100644 --- a/src/sql/resolver/expr/ob_raw_expr_util.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_util.cpp @@ -892,7 +892,10 @@ int ObRawExprUtils::resolve_udf_param_exprs(ObResolverParams ¶ms, SQL_LOG(WARN, "names array not equle to exprs array count", K(ret), K(udf_info.param_names_.count()), K(udf_info.param_exprs_.count())); } else if ((udf_info.udf_param_num_ + udf_info.param_names_.count()) > func_info->get_param_count()) { - ret = OB_ERR_PARAM_SIZE; + ret = OB_ERR_SP_WRONG_ARG_NUM; + LOG_USER_ERROR(OB_ERR_SP_WRONG_ARG_NUM, "FUNCTION", udf_info.udf_name_.ptr(), + static_cast(func_info->get_param_count()), + static_cast(udf_info.udf_param_num_ + udf_info.param_names_.count())); SQL_LOG(WARN, "params count mismatch", K(ret), K(udf_info.udf_name_), K(func_info->get_param_count()), K(udf_info)); } else { @@ -941,7 +944,10 @@ int ObRawExprUtils::resolve_udf_param_exprs(ObResolverParams ¶ms, *(params.allocator_), params.session_info_->get_dtc_params(), default_val))) { LOG_WARN("fail to get default value", K(ret)); } else if (OB_UNLIKELY(default_val.empty())) { - ret = OB_ERR_PARAM_SIZE; + ret = OB_ERR_SP_WRONG_ARG_NUM; + LOG_USER_ERROR(OB_ERR_SP_WRONG_ARG_NUM, "FUNCTION", udf_info.udf_name_.ptr(), + static_cast(func_info->get_param_count()), + static_cast(udf_info.udf_param_num_ + udf_info.param_names_.count())); SQL_LOG(WARN, "param count mismatch", K(ret), K(i), K(default_val)); } else if (OB_FAIL(ObRawExprUtils::parse_default_expr_from_str( default_val, params.session_info_->get_local_collation_connection(), @@ -977,7 +983,10 @@ int ObRawExprUtils::resolve_udf_param_exprs(ObResolverParams ¶ms, } if (OB_SUCC(ret) && (func_info->get_param_count() != udf_info.udf_param_num_ + param_exprs.count())) { - ret = OB_ERR_PARAM_SIZE; + ret = OB_ERR_SP_WRONG_ARG_NUM; + LOG_USER_ERROR(OB_ERR_SP_WRONG_ARG_NUM, "FUNCTION", udf_info.udf_name_.ptr(), + static_cast(func_info->get_param_count()), + static_cast(udf_info.udf_param_num_ + udf_info.param_names_.count())); SQL_LOG(WARN, "params count mismatch", K(ret), K(udf_info.udf_name_), K(func_info->get_param_count()), K(udf_info));