to issue<2024111200105070699>:fix memory leak when sync package basic var
This commit is contained in:
parent
f8e35764bd
commit
b6d1419432
@ -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()) {
|
||||
|
@ -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_));
|
||||
|
Loading…
x
Reference in New Issue
Block a user