[CP] If the ring exists and exits prematurely, only the allocator is cleaned when operator is closed in oracle DFS mode

This commit is contained in:
obdev
2023-12-11 04:13:21 +00:00
committed by ob-robot
parent 705d7aee2c
commit f77f3b7f69
3 changed files with 8 additions and 0 deletions

View File

@ -548,6 +548,7 @@ int ObRecursiveInnerDataOp::set_fake_cte_table_empty()
void ObRecursiveInnerDataOp::destroy()
{
dfs_pump_.destroy();
stored_row_buf_.reset();
}

View File

@ -187,6 +187,11 @@ int ObDepthFisrtSearchOp::init()
return ret;
}
void ObDepthFisrtSearchOp::destroy()
{
search_stack_.reset();
}
int ObDepthFisrtSearchOp::reuse()
{
ObSearchMethodOp::reuse();

View File

@ -232,7 +232,9 @@ public:
}
}
virtual int finish_add_row(bool sort) override;
virtual void destroy();
virtual int reuse() override;
virtual int empty() override { return search_stack_.empty() && input_rows_.empty(); }