to issue<2024111200105070699>:fix memory leak when sync package basic var

This commit is contained in:
hanr881 2024-11-13 04:14:59 +00:00 committed by ob-robot
parent f8e35764bd
commit b6d1419432
2 changed files with 1 additions and 4 deletions

View File

@ -248,7 +248,7 @@ int ObPLPackage::instantiate_package_state(const ObPLResolveCtx &resolve_ctx,
} else {
// sync other server modify for this server! (from porxy or distribute plan)
if (var_type.is_obj_type()) {
// do nothing
OZ (ObUserDefinedType::destruct_objparam(package_state.get_pkg_allocator(), value, &(resolve_ctx.session_info_)));
} else {
OZ (ObUserDefinedType::destruct_obj(value, &(resolve_ctx.session_info_), true));
if (OB_SUCC(ret) && var_type.is_record_type() && PL_RECORD_TYPE == value.get_meta().get_extend_type()) {

View File

@ -1116,9 +1116,6 @@ int ObPLPackageManager::set_package_var_val(const ObPLResolveCtx &resolve_ctx,
if (OB_NOT_NULL(var) && var->get_type().is_cursor_type() && !var->get_type().is_cursor_var()) {
// package ref cursor variable, refrence outside, do not destruct old var val.
if (OB_FAIL(ret) && need_free_new) {
ObUserDefinedType::destruct_objparam(package_state->get_pkg_allocator(), new_var_val, &(resolve_ctx.session_info_));
}
} else {
if (OB_FAIL(ret) && need_free_new) {
ObUserDefinedType::destruct_objparam(package_state->get_pkg_allocator(), new_var_val, &(resolve_ctx.session_info_));