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 <engle...@gmail.com>
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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to