diff --git a/src/sql/engine/window_function/ob_window_function_op.cpp b/src/sql/engine/window_function/ob_window_function_op.cpp index 5b89b38ade..ecf67c2853 100644 --- a/src/sql/engine/window_function/ob_window_function_op.cpp +++ b/src/sql/engine/window_function/ob_window_function_op.cpp @@ -1283,9 +1283,14 @@ int ObWindowFunctionOp::init() LOG_WARN("add func failed", K(ret)); } else { LOG_DEBUG("add func succ", KPC(wf_cell)); + wf_cell = NULL; } } } + if (OB_UNLIKELY(NULL != wf_cell)) { + wf_cell->~WinFuncCell(); + wf_cell = NULL; + } if (OB_SUCC(ret) && MY_SPEC.is_participator()) { if (wf_info.can_push_down_) { if (common::OB_INVALID_COUNT == next_wf_pby_expr_cnt_to_transmit_) {