[CP] fix group_concat, wm_concat bugs

This commit is contained in:
obdev
2022-07-04 10:13:08 +08:00
committed by wangzelin.wzl
parent 473c0e9f53
commit e33baca83b
2 changed files with 5 additions and 6 deletions

View File

@ -333,15 +333,13 @@ int ObAggregateFunction::init(const int64_t input_column_count, const ObAggrExpr
ret = OB_INVALID_ARGUMENT;
LOG_WARN("expr_ctx is valid", K_(expr_ctx.phy_plan_ctx), K_(expr_ctx.my_session), K_(expr_ctx.calc_buf));
} else {
expr_ctx_ = expr_ctx;
if (share::is_oracle_mode()) {
group_concat_max_len_ = OB_DEFAULT_GROUP_CONCAT_MAX_LEN_FOR_ORACLE;
} else {
group_concat_max_len_ = OB_DEFAULT_GROUP_CONCAT_MAX_LEN;
}
if (OB_FAIL(expr_ctx.my_session_->get_group_concat_max_len(group_concat_max_len_))) {
} else if (OB_FAIL(expr_ctx.my_session_->get_group_concat_max_len(group_concat_max_len_))) {
LOG_WARN("fail to get group concat max len", K(ret));
} else {
expr_ctx_ = expr_ctx;
} else if (group_concat_max_len_ >= CONCAT_STR_BUF_LEN - 1) {
group_concat_max_len_ = CONCAT_STR_BUF_LEN - 2;
}
}
// add aggr columns

View File

@ -1064,6 +1064,7 @@ int ObRawExprDeduceType::visit(ObAggFunRawExpr& expr)
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected NULL", K(param_expr), K(my_session_), K(ret));
} else {
result_type.set_accuracy(ObAccuracy::MAX_ACCURACY2[lib::is_oracle_mode()][ObLobType]);
result_type.set_collation_type(my_session_->get_nls_collation());
result_type.set_calc_collation_type(my_session_->get_nls_collation());
result_type.set_collation_level(CS_LEVEL_IMPLICIT);