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 b4c26462d9..0e954d7d5a 100644 --- a/src/sql/engine/window_function/ob_window_function_op.cpp +++ b/src/sql/engine/window_function/ob_window_function_op.cpp @@ -1548,16 +1548,19 @@ int ObWindowFunctionOp::inner_close() local_allocator_.free(pby_hash_values_.at(i)); pby_hash_values_.at(i) = NULL; } + pby_hash_values_.reset(); for (int64_t i = 0; i < participator_whole_msg_array_.count(); ++i) { participator_whole_msg_array_.at(i)->reset(); local_allocator_.free(participator_whole_msg_array_.at(i)); participator_whole_msg_array_.at(i) = NULL; } + participator_whole_msg_array_.reset(); for (int64_t i = 0; i < pby_hash_values_sets_.count(); ++i) { pby_hash_values_sets_.at(i)->destroy(); local_allocator_.free(pby_hash_values_sets_.at(i)); pby_hash_values_sets_.at(i) = NULL; } + pby_hash_values_sets_.reset(); return ObOperator::inner_close(); }