to issue<50473724>:fix cursor open memory leak

This commit is contained in:
hanr881
2023-07-26 08:48:34 +00:00
committed by ob-robot
parent 60e749bd89
commit f8af7ea99a
4 changed files with 22 additions and 0 deletions

View File

@ -43,11 +43,19 @@ struct ObSPICursor
ObSPICursor(ObIAllocator &allocator) :
row_store_(), row_desc_(), allocator_(&allocator), cur_(0), fields_(allocator) {}
~ObSPICursor()
{
for (int64_t i = 0; i < complex_objs_.count(); ++i) {
(void)(pl::ObUserDefinedType::destruct_obj(complex_objs_.at(i)));
}
}
ObRARowStore row_store_;
ObArray<ObDataType> row_desc_; //ObRowStore里数据自带的Meta可能是T_NULL,所以这里自备一份
ObIAllocator* allocator_;
int64_t cur_;
common::ColumnsFieldArray fields_;
ObArray<ObObj> complex_objs_;
};
struct ObSPIOutParams