[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:
@ -548,6 +548,7 @@ int ObRecursiveInnerDataOp::set_fake_cte_table_empty()
|
|||||||
|
|
||||||
void ObRecursiveInnerDataOp::destroy()
|
void ObRecursiveInnerDataOp::destroy()
|
||||||
{
|
{
|
||||||
|
dfs_pump_.destroy();
|
||||||
stored_row_buf_.reset();
|
stored_row_buf_.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -187,6 +187,11 @@ int ObDepthFisrtSearchOp::init()
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ObDepthFisrtSearchOp::destroy()
|
||||||
|
{
|
||||||
|
search_stack_.reset();
|
||||||
|
}
|
||||||
|
|
||||||
int ObDepthFisrtSearchOp::reuse()
|
int ObDepthFisrtSearchOp::reuse()
|
||||||
{
|
{
|
||||||
ObSearchMethodOp::reuse();
|
ObSearchMethodOp::reuse();
|
||||||
|
|||||||
@ -232,7 +232,9 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
virtual int finish_add_row(bool sort) override;
|
virtual int finish_add_row(bool sort) override;
|
||||||
|
virtual void destroy();
|
||||||
virtual int reuse() override;
|
virtual int reuse() override;
|
||||||
virtual int empty() override { return search_stack_.empty() && input_rows_.empty(); }
|
virtual int empty() override { return search_stack_.empty() && input_rows_.empty(); }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user