[to #47901724] fix package free ref cursor core
This commit is contained in:
@ -573,11 +573,15 @@ int ObPLDataType::free_session_var(const ObPLResolveCtx &resolve_ctx, ObIAllocat
|
|||||||
obj.set_null();
|
obj.set_null();
|
||||||
}
|
}
|
||||||
} else if (is_cursor_type()) {
|
} else if (is_cursor_type()) {
|
||||||
|
if (is_cursor_var()) {
|
||||||
ObPLCursorInfo *cursor = reinterpret_cast<ObPLCursorInfo *>(obj.get_ext());
|
ObPLCursorInfo *cursor = reinterpret_cast<ObPLCursorInfo *>(obj.get_ext());
|
||||||
if (OB_NOT_NULL(cursor)) {
|
if (OB_NOT_NULL(cursor)) {
|
||||||
cursor->~ObPLCursorInfo();
|
cursor->~ObPLCursorInfo();
|
||||||
cursor = NULL;
|
cursor = NULL;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// do nothing .. package ref cursor only use for cursor parameters, it will close by geneteror.
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ObPL *pl_engine = NULL;
|
ObPL *pl_engine = NULL;
|
||||||
if (OB_ISNULL(pl_engine = resolve_ctx.session_info_.get_pl_engine())) {
|
if (OB_ISNULL(pl_engine = resolve_ctx.session_info_.get_pl_engine())) {
|
||||||
|
Reference in New Issue
Block a user