to issue<51998150>:fix core when fetch cursor after this cursor has been closed

This commit is contained in:
obdev
2023-09-08 11:46:26 +08:00
committed by ob-robot
parent 83d8ccce23
commit 7085d97454
2 changed files with 23 additions and 4 deletions

View File

@ -7294,7 +7294,8 @@ int ObSPIService::convert_obj(ObPLExecCtx *ctx,
LOG_DEBUG("column convert", K(obj.get_meta()), K(result_types[i].get_meta_type()),
K(current_type.at(i)), K(result_types[i].get_accuracy()));
if (obj.is_pl_extend()/* && pl::PL_RECORD_TYPE == obj.get_meta().get_extend_type()*/
&& result_types[i].get_meta_type().is_ext()) {
&& result_types[i].get_meta_type().is_ext()
&& obj.get_meta().get_extend_type() != PL_CURSOR_TYPE) {
//record嵌object场景,object属性在resolver阶段要求强一致,无需强转
OZ (calc_array.push_back(obj));
} else if (obj.get_meta() == result_types[i].get_meta_type()
@ -7435,6 +7436,7 @@ int ObSPIService::store_result(ObPLExecCtx *ctx,
1 == type_count &&
1 == obj_array.count() &&
obj_array.at(0).is_pl_extend() &&
obj_array.at(0).get_meta().get_extend_type() != PL_CURSOR_TYPE &&
obj_array.at(0).get_meta().get_extend_type() != PL_OPAQUE_TYPE); // xmltypes may need to do cast
if (!is_schema_object) {
if (OB_SUCC(ret) && type_count != obj_array.count()) {