Resolving memory-leak by adding px clean up

This commit is contained in:
obdev
2023-02-07 16:07:07 +08:00
committed by ob-robot
parent cde81bf4b1
commit 2a1917b23b
18 changed files with 373 additions and 178 deletions

View File

@ -32,7 +32,7 @@
#include "sql/engine/join/ob_hash_join_op.h"
#include "sql/engine/window_function/ob_window_function_op.h"
#include "sql/engine/px/ob_px_basic_info.h"
#include "sql/engine/pdml/static/ob_px_multi_part_modify_op.h"
#include "sql/engine/pdml/static/ob_px_multi_part_insert_op.h"
#include "sql/engine/join/ob_join_filter_op.h"
#include "sql/engine/px/ob_granule_pump.h"
#include "observer/mysql/obmp_base.h"
@ -706,6 +706,22 @@ int ObPxTaskProcess::OpPostparation::apply(ObExecContext &ctx, ObOpSpec &op)
LOG_TRACE("debug post apply info", K(ret_));
}
}
} else if (PHY_PX_MULTI_PART_INSERT == op.get_type()) {
if (OB_ISNULL(kit->input_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("operator is NULL", K(ret), KP(kit));
} else {
ObPxMultiPartInsertOpInput *input = static_cast<ObPxMultiPartInsertOpInput *>(kit->input_);
if (OB_ISNULL(input)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("input not found for op", "op_id", op.id_, K(ret));
} else if (OB_SUCCESS != ret_) {
input->set_error_code(ret_);
LOG_TRACE("debug post apply info", K(ret_));
} else {
LOG_TRACE("debug post apply info", K(ret_));
}
}
}
return ret;
}