From 5e3a117ca711d910159ea274b31b572ee1a4c48a Mon Sep 17 00:00:00 2001 From: hanr881 <1741282579@qq.com> Date: Fri, 1 Sep 2023 10:44:33 +0000 Subject: [PATCH] to issue<51710744>:fix datetime type as argument of store routine issue --- src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp b/src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp index 8e9369bf9..edc7ed8c7 100644 --- a/src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_resolver_impl.cpp @@ -2605,8 +2605,14 @@ int ObRawExprResolverImpl::process_datatype_or_questionmark(const ParseNode &nod } #endif } else { - c_expr->set_meta_type(ObSQLUtils::is_oracle_empty_string(param) + if (ObNullType == param.get_type() && + T_QUESTIONMARK == c_expr->get_expr_type() && + ObDateTimeType == param.get_null_meta().get_type()) { + c_expr->set_meta_type(param.get_null_meta()); + } else { + c_expr->set_meta_type(ObSQLUtils::is_oracle_empty_string(param) ? param.get_param_meta() : param.get_meta()); + } c_expr->set_expr_obj_meta(param.get_param_meta()); c_expr->set_accuracy(param.get_accuracy()); c_expr->set_result_flag(param.get_result_flag()); // not_null etc