[GIS]fix spatial lookup leak

This commit is contained in:
obdev 2023-09-20 16:38:31 +00:00 committed by ob-robot
parent 4273f55ffa
commit d37b31044f
3 changed files with 14 additions and 1 deletions

View File

@ -369,7 +369,7 @@ public:
common::ObNewRowIterator *get_rowkey_iter() { return rowkey_iter_; }
int reuse_iter();
virtual int reset_lookup_state();
int revert_iter();
virtual int revert_iter();
VIRTUAL_TO_STRING_KV(KPC_(lookup_ctdef),
KPC_(lookup_rtdef),
KPC_(tx_desc),

View File

@ -66,6 +66,17 @@ ObSpatialIndexLookupOp::~ObSpatialIndexLookupOp()
sorter_.~ObExternalSort();
}
int ObSpatialIndexLookupOp::revert_iter()
{
int ret = OB_SUCCESS;
if (OB_FAIL(ObLocalIndexLookupOp::revert_iter())) {
LOG_WARN("revert local index lookup iter from spatial fail.", K(ret));
}
sorter_.clean_up();
sorter_.~ObExternalSort();
return ret;
}
int ObSpatialIndexLookupOp::reset_lookup_state()
{
is_inited_ = false;

View File

@ -50,6 +50,8 @@ public:
int reset_lookup_state();
int filter_by_mbr(const ObObj &mbr_obj, bool &pass_through);
int get_next_row();
int revert_iter();
private:
int process_data_table_rowkey();
int save_rowkeys();