From 8c423e7ff3accbd62a3db98cdf71fc8a903bd5ce Mon Sep 17 00:00:00 2001 From: qianchanger Date: Tue, 7 Mar 2023 05:16:14 +0000 Subject: [PATCH] Switch current memory context for sqc handler --- src/sql/engine/px/ob_px_sqc_handler.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/sql/engine/px/ob_px_sqc_handler.cpp b/src/sql/engine/px/ob_px_sqc_handler.cpp index 5f263d0f1..aef698311 100644 --- a/src/sql/engine/px/ob_px_sqc_handler.cpp +++ b/src/sql/engine/px/ob_px_sqc_handler.cpp @@ -225,11 +225,13 @@ int ObPxSqcHandler::copy_sqc_init_arg(int64_t &pos, const char *data_buf, int64_ LOG_WARN("Sqc handler need to be inited", K(ret)); } else { allocator = &mem_context_->get_arena_allocator(); - sqc_init_args_->set_deserialize_param(*exec_ctx_, *des_phy_plan_, allocator); - if (OB_FAIL(sqc_init_args_->do_deserialize(pos, data_buf, data_len))) { - LOG_WARN("Failed to deserialize", K(ret)); + WITH_CONTEXT(mem_context_) { + sqc_init_args_->set_deserialize_param(*exec_ctx_, *des_phy_plan_, allocator); + if (OB_FAIL(sqc_init_args_->do_deserialize(pos, data_buf, data_len))) { + LOG_WARN("Failed to deserialize", K(ret)); + } + sqc_init_args_->sqc_handler_ = this; } - sqc_init_args_->sqc_handler_ = this; } return ret; }