This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new dbb6579e88 [fix](planner) fix bug in agg on constant column (#16442)
(#16854)
dbb6579e88 is described below
commit dbb6579e88cd4f4dded739f4b3a7759d51ea8796
Author: minghong <[email protected]>
AuthorDate: Tue Feb 21 16:55:31 2023 +0800
[fix](planner) fix bug in agg on constant column (#16442) (#16854)
For performance reason, we want to remove constant column from
groupingExprs.
For example:
`select sum(T.A) from T group by T.B, 'xyz'` is equivalent
to `select sum(T.A) from T group by T.B`
We can remove constant column `abc` from groupingExprs.
But there is an exception when all groupingExpr are constant
For example:
sql1: `select 'abc' from t group by 'abc'`
is not equivalent to
sql2: `select 'abc' from t`
sql3: `select 'abc', sum(a) from t group by 'abc'`
is not equivalent to
sql4: `select 1, sum(a) from t`
(when t is empty, sql3 returns 0 tuple, sql4 return 1 tuple)
We need to keep some constant columns if all groupingExpr are constant.
Consider sql5 `select a from (select "abc" as a, 'def' as b) T group by b,
a;`
if the constant column `a` is in select list, this column should not be
removed.
sql5 is transformed to
sql6 `select a from (select "abc" as a, 'def' as b) T group by a;`
(cherry picked from master #16442)
(cherry picked from commit a2b9b9edd72d70fed4cd76c571ee5b736493e3a7)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]