The PDML operator does not call the member's destructor, resulting in the operator's member RtDef not being destructed, causing a memory leak
This commit is contained in:
parent
4ad457ced3
commit
d68413c2e3
@ -107,6 +107,12 @@ public:
|
||||
virtual int inner_get_next_row();
|
||||
virtual int inner_open();
|
||||
virtual int inner_close();
|
||||
virtual void destroy()
|
||||
{
|
||||
// destroy
|
||||
del_rtdef_.~ObDelRtDef();
|
||||
ObTableModifyOp::destroy();
|
||||
}
|
||||
private:
|
||||
ObPDMLOpDataDriver data_driver_;
|
||||
ObDelRtDef del_rtdef_;
|
||||
|
@ -104,6 +104,12 @@ public:
|
||||
virtual int inner_get_next_row();
|
||||
virtual int inner_open();
|
||||
virtual int inner_close();
|
||||
virtual void destroy()
|
||||
{
|
||||
// destroy
|
||||
ins_rtdef_.~ObInsRtDef();
|
||||
ObTableModifyOp::destroy();
|
||||
}
|
||||
protected:
|
||||
ObPDMLOpDataDriver data_driver_;
|
||||
ObInsRtDef ins_rtdef_;
|
||||
|
@ -89,6 +89,12 @@ public:
|
||||
virtual int inner_get_next_row();
|
||||
virtual int inner_open();
|
||||
virtual int inner_close();
|
||||
virtual void destroy()
|
||||
{
|
||||
// destroy
|
||||
upd_rtdef_.~ObUpdRtDef();
|
||||
ObTableModifyOp::destroy();
|
||||
}
|
||||
private:
|
||||
int update_row_to_das(const ObDASTabletLoc *tablet_loc);
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user