From 126c1d5744fc0ff68884b3f031a90b1032f7a886 Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 14 Mar 2024 02:45:14 +0000 Subject: [PATCH] [CP] fix: fix the plan generating bug induced by tracepoint --- src/sql/optimizer/ob_join_order.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sql/optimizer/ob_join_order.cpp b/src/sql/optimizer/ob_join_order.cpp index 9059393d8..f18a18267 100644 --- a/src/sql/optimizer/ob_join_order.cpp +++ b/src/sql/optimizer/ob_join_order.cpp @@ -11577,9 +11577,9 @@ int ObJoinOrder::get_valid_path_info(const ObJoinOrder &left_tree, if (OB_SUCC(ret)) { bool force_use_nlj = false; force_use_nlj = (OB_SUCCESS != (OB_E(EventTable::EN_GENERATE_PLAN_WITH_NLJ) OB_SUCCESS)); - if (force_use_nlj) { + //if tracepoint is triggered and the local methiods contain NLJ, remove the merge-join paths to use nlj as possible + if (force_use_nlj && (path_info.local_methods_ & NESTED_LOOP_JOIN)) { path_info.local_methods_ &= ~MERGE_JOIN; - path_info.local_methods_ |= NESTED_LOOP_JOIN; } } //check batch update join type