From fb7b94bcff05501964f9554b46847046b7ededdc Mon Sep 17 00:00:00 2001 From: zz0 Date: Fri, 11 Mar 2022 16:08:05 +0800 Subject: [PATCH] fix shared exprs bug --- src/sql/rewrite/ob_transform_utils.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sql/rewrite/ob_transform_utils.cpp b/src/sql/rewrite/ob_transform_utils.cpp index 6d4f88cd7..6acac481b 100644 --- a/src/sql/rewrite/ob_transform_utils.cpp +++ b/src/sql/rewrite/ob_transform_utils.cpp @@ -7110,9 +7110,9 @@ int ObTransformUtils::extract_column_contained_expr( LOG_WARN("failed to extract stmt column contained expr", K(ret)); } else { /*do nothing*/ } - } else if (!expr->get_relation_ids().is_empty() && !expr->is_column_ref_expr() && !expr->is_aggr_expr() && !expr->is_win_func_expr() && - expr->get_expr_levels().num_members() == 1 && !ObRawExprUtils::find_expr(contain_column_exprs, expr) && - OB_FAIL(contain_column_exprs.push_back(expr))) { + } else if (!expr->is_column_ref_expr() && !expr->is_aggr_expr() && !expr->is_win_func_expr() && + expr->get_expr_levels().num_members() == 1 && expr->get_expr_levels().has_member(stmt_level) && + OB_FAIL(add_var_to_array_no_dup(contain_column_exprs, expr))) { LOG_WARN("failed to push back expr", K(ret)); } else { for (int64_t i = 0; OB_SUCC(ret) && i < expr->get_param_count(); ++i) {