to issue<51998150>:fix core when fetch cursor after this cursor has been closed
This commit is contained in:
@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user