[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()
|
||||
{
|
||||
dfs_pump_.destroy();
|
||||
stored_row_buf_.reset();
|
||||
}
|
||||
|
||||
|
@ -187,6 +187,11 @@ int ObDepthFisrtSearchOp::init()
|
||||
return ret;
|
||||
}
|
||||
|
||||
void ObDepthFisrtSearchOp::destroy()
|
||||
{
|
||||
search_stack_.reset();
|
||||
}
|
||||
|
||||
int ObDepthFisrtSearchOp::reuse()
|
||||
{
|
||||
ObSearchMethodOp::reuse();
|
||||
|
@ -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(); }
|
||||
|
||||
|
Reference in New Issue
Block a user