[to #45421457] ps call stmt need always parse as dynamic sql

This commit is contained in:
obdev 2022-10-27 07:06:30 +00:00 committed by wangzelin.wzl
parent 03f600e89a
commit b45018b9f2
2 changed files with 9 additions and 5 deletions

View File

@ -1611,6 +1611,10 @@ int ObSql::handle_ps_execute(const ObPsStmtId client_stmt_id,
}
}
} else {
if (stmt::T_CALL_PROCEDURE == stmt_type && !context.is_dynamic_sql_) {
// call procedure stmt call always parse as dynamic sql
context.is_dynamic_sql_ = true;
}
ObParser parser(allocator, session.get_sql_mode(),
session.get_local_collation_connection());
ParseResult parse_result;

View File

@ -341,12 +341,12 @@ int ObCallProcedureResolver::resolve(const ParseNode &parse_tree)
}
}
// 解析参数列表
if (OB_SUCC(ret) && params_.is_execute_call_stmt_) {
OZ (stmt->add_params(expr_params));
OX (stmt->set_can_direct_use_param(true));
} else {
// if (OB_SUCC(ret) && params_.is_execute_call_stmt_) {
// OZ (stmt->add_params(expr_params));
// OX (stmt->set_can_direct_use_param(true));
// } else {
OZ (resolve_cparams(params_node, proc_info, stmt));
}
// }
if (OB_SUCC(ret)) {
if (OB_INVALID_ID == proc_info->get_package_id()) {