diff --git a/src/sql/optimizer/ob_log_plan.cpp b/src/sql/optimizer/ob_log_plan.cpp index 6e3298e639..a5bf9544af 100644 --- a/src/sql/optimizer/ob_log_plan.cpp +++ b/src/sql/optimizer/ob_log_plan.cpp @@ -14007,7 +14007,8 @@ int ObLogPlan::deduce_redundant_join_conds(const ObIArray &quals, ObSEArray connect_infos; ObSEArray single_table_ids; ObRelIds table_ids; - if (OB_FAIL(ObEqualAnalysis::compute_equal_set(&allocator_, + ObArenaAllocator allocator(ObModIds::OB_SQL_OPTIMIZER_EQUAL_SETS, OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()); + if (OB_FAIL(ObEqualAnalysis::compute_equal_set(&allocator, quals, all_equal_sets))) { LOG_WARN("failed to compute equal set", K(ret)); diff --git a/src/sql/rewrite/ob_equal_analysis.cpp b/src/sql/rewrite/ob_equal_analysis.cpp index e837d857d9..06b458e27c 100644 --- a/src/sql/rewrite/ob_equal_analysis.cpp +++ b/src/sql/rewrite/ob_equal_analysis.cpp @@ -20,7 +20,7 @@ using namespace common; namespace sql { ObEqualAnalysis::ObEqualAnalysis() - : equal_set_alloc_(ObModIds::OB_SQL_OPTIMIZER_EQUAL_SETS), + : equal_set_alloc_(ObMemAttr(MTL_ID(), ObModIds::OB_SQL_OPTIMIZER_EQUAL_SETS)), column_set_(), equal_sets_() {