From 2e48b19c4066048e476083e71da34df9cb9fe3e7 Mon Sep 17 00:00:00 2001 From: ChangerR Date: Mon, 6 Feb 2023 23:34:18 +0800 Subject: [PATCH] fix exec param is wrongly copied --- src/sql/resolver/expr/ob_raw_expr_copier.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sql/resolver/expr/ob_raw_expr_copier.cpp b/src/sql/resolver/expr/ob_raw_expr_copier.cpp index 5e5fadf322..27eadd62d7 100644 --- a/src/sql/resolver/expr/ob_raw_expr_copier.cpp +++ b/src/sql/resolver/expr/ob_raw_expr_copier.cpp @@ -105,8 +105,10 @@ int ObRawExprCopier::check_need_copy(const ObRawExpr *old_expr, } else if (OB_UNLIKELY(OB_HASH_NOT_EXIST != tmp)) { ret = tmp; LOG_WARN("get expr from hash map failed", K(ret)); - } else if (old_expr->is_exec_param_expr() && - !static_cast(old_expr)->is_onetime()) { + } + if (OB_SUCC(ret) && OB_ISNULL(new_expr) && + old_expr->is_exec_param_expr() && + !static_cast(old_expr)->is_onetime()) { // TODO link.zt skip the copy of exec param expr // let the query ref raw expr to copy the expr // to be improved