From 031989c299bc8702713d99e2ff9890453d58aeb1 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 5 Jul 2022 16:15:47 +0800 Subject: [PATCH] fix issue/42559381,query result incorrect bug --- src/sql/code_generator/ob_expr_generator_impl.cpp | 9 ++------- src/sql/rewrite/ob_transform_pre_process.h | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/sql/code_generator/ob_expr_generator_impl.cpp b/src/sql/code_generator/ob_expr_generator_impl.cpp index 88285eb581..7c001f6778 100644 --- a/src/sql/code_generator/ob_expr_generator_impl.cpp +++ b/src/sql/code_generator/ob_expr_generator_impl.cpp @@ -1436,13 +1436,8 @@ int ObExprGeneratorImpl::visit(ObAggFunRawExpr& expr) } else if (OB_FAIL(sql_expr_->add_expr_item(item, &expr))) { LOG_WARN("failed to add expr item", K(ret)); } else { - if (T_FUN_JSON_OBJECTAGG == expr.get_expr_type()) { - aggr_expr->set_real_param_col_count(expr.get_real_param_count()); - aggr_expr->set_all_param_col_count(expr.get_param_count()); - } else { - aggr_expr->set_real_param_col_count(1); - aggr_expr->set_all_param_col_count(1); - } + aggr_expr->set_real_param_col_count(expr.get_real_param_count()); + aggr_expr->set_all_param_col_count(expr.get_param_count()); if (OB_SUCCESS == ret && (T_FUN_GROUP_CONCAT == expr.get_expr_type() || T_FUN_GROUP_RANK == expr.get_expr_type() || T_FUN_GROUP_DENSE_RANK == expr.get_expr_type() || T_FUN_GROUP_PERCENT_RANK == expr.get_expr_type() || diff --git a/src/sql/rewrite/ob_transform_pre_process.h b/src/sql/rewrite/ob_transform_pre_process.h index 8efd7b5155..081d22f61a 100644 --- a/src/sql/rewrite/ob_transform_pre_process.h +++ b/src/sql/rewrite/ob_transform_pre_process.h @@ -60,7 +60,7 @@ private: DistinctObjMeta(ObObjType obj_type, ObCollationType coll_type, ObCollationLevel coll_level) : obj_type_(obj_type), coll_type_(coll_type), coll_level_(coll_level) { - if (!ObDatumFuncs::is_string_type(obj_type_) || !ObDatumFuncs::is_json(obj_type_)) { + if (!ObDatumFuncs::is_string_type(obj_type_) && !ObDatumFuncs::is_json(obj_type_)) { coll_type_ = CS_TYPE_MAX; coll_level_ = CS_LEVEL_INVALID; } -- GitLab