[
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)