提交 e33baca8 编写于 作者: O obdev 提交者: wangzelin.wzl

[CP] fix group_concat, wm_concat bugs

上级 473c0e9f
......@@ -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
......
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册