fix simplify group by cause group_concat result error

This commit is contained in:
ChangerR
2023-05-11 09:04:33 +00:00
committed by ob-robot
parent bfb96123dc
commit 8eba126aca

View File

@ -1022,7 +1022,6 @@ int ObTransformSimplifyGroupby::check_aggr_win_can_be_removed(const ObDMLStmt *s
case T_FUN_SUM:
//case T_FUN_APPROX_COUNT_DISTINCT: // return 1 or 0 //不进行改写
//case T_FUN_APPROX_COUNT_DISTINCT_SYNOPSIS://不进行改写
case T_FUN_GROUP_CONCAT:// return expr
// case T_FUN_GROUP_RANK:// return 1 or 2 需要考虑order desc、nulls first、多列条件,暂不改写
// case T_FUN_GROUP_DENSE_RANK:
// case T_FUN_GROUP_PERCENT_RANK:// return 1 or 0
@ -1049,6 +1048,15 @@ int ObTransformSimplifyGroupby::check_aggr_win_can_be_removed(const ObDMLStmt *s
can_remove = true;
break;
}
case T_FUN_GROUP_CONCAT:{
if (OB_ISNULL(aggr)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected func", K(ret));
} else {
can_remove = aggr->get_real_param_count() == 1;
}
break;
}
case T_WIN_FUN_NTILE: {//return 1
//need check invalid param: ntile(-1)
can_remove = false;