From 0c704f0ff089bb5a15968f306bd67d6cf9d22987 Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 9 Nov 2022 02:38:07 +0000 Subject: [PATCH] [CP] fix subplan fiter exec param not reset caused core --- src/sql/engine/join/ob_nested_loop_join_op.cpp | 2 ++ src/sql/engine/subquery/ob_subplan_filter_op.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/src/sql/engine/join/ob_nested_loop_join_op.cpp b/src/sql/engine/join/ob_nested_loop_join_op.cpp index ce365ab5b..d5ab025e5 100644 --- a/src/sql/engine/join/ob_nested_loop_join_op.cpp +++ b/src/sql/engine/join/ob_nested_loop_join_op.cpp @@ -360,6 +360,7 @@ int ObNestedLoopJoinOp::read_left_operate() if (OB_FAIL(group_read_left_operate()) && OB_ITER_END != ret) { LOG_WARN("failed to read left group", K(ret)); } + } else if (FALSE_IT(set_param_null())) { } else if (OB_FAIL(get_next_left_row()) && OB_ITER_END != ret) { LOG_WARN("failed to get next left row", K(ret)); } @@ -530,6 +531,7 @@ int ObNestedLoopJoinOp::group_read_left_operate() } } save_last_row_ = false; + set_param_null(); while (OB_SUCC(ret) && !is_full()) { // need clear evaluated flag, since prepare_rescan_params() will evaluate expression. clear_evaluated_flag(); diff --git a/src/sql/engine/subquery/ob_subplan_filter_op.cpp b/src/sql/engine/subquery/ob_subplan_filter_op.cpp index acd163665..bf05b8f68 100644 --- a/src/sql/engine/subquery/ob_subplan_filter_op.cpp +++ b/src/sql/engine/subquery/ob_subplan_filter_op.cpp @@ -602,6 +602,7 @@ int ObSubPlanFilterOp::handle_next_row() } } save_last_row_ = false; + set_param_null(); while (OB_SUCC(ret) && batch_count--) { clear_evaluated_flag(); set_param_null();