[ 
https://issues.apache.org/jira/browse/CALCITE-2620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649790#comment-16649790
 ] 

Julian Hyde commented on CALCITE-2620:
--------------------------------------

You’d be surprised how often “no brainer” optimizations come up in generated 
code, or following view expansions. But there’s a great example of COALESCE 
within Calcite itself.

If you write “select * from emp full join dept using (deptno)” then there will 
be only one “deptno” column in the output. Calcite will populate it using 
“coalesce(emp.deptno, dept.deptno)”. If “emp” is a view and its “deptno” column 
is defined to be “null” then we will end up with “coalesce(null, dept.deptno)”.

> Simplify "coalesce(null,x)" to "x"
> ----------------------------------
>
>                 Key: CALCITE-2620
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2620
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.18.0
>            Reporter: pengzhiwei
>            Assignee: Julian Hyde
>            Priority: Major
>
> "coalesce(x0,x1,.....)" can be simplified if any of "xi" is null literal.
> e.g.  "coalesce(null,x)" can simplify to "x", "coalesce(x,null,y)" can 
> simplify to "coalesce(x,y)"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to