Liang-Chi Hsieh created SPARK-18376:
---------------------------------------

             Summary: Skip subexpression elimination for conditional expressions
                 Key: SPARK-18376
                 URL: https://issues.apache.org/jira/browse/SPARK-18376
             Project: Spark
          Issue Type: Bug
          Components: SQL
            Reporter: Liang-Chi Hsieh


We should disallow subexpression elimination for expressions wrapped in 
conditional expressions such as {{If}}.

Because for an example like this:

{code}
if (isNull(subexpr)) {
  ...
} else {
  AssertNotNull(subexpr)  // subexpr2
  ....
  SomeExpr(AssertNotNull(subexpr)) // SomeExpr(subexpr2)
}
{code}

AssertNotNull(subexpr) will be recognized as  a subexpression and evaluate even 
the else branch is never run. Under such cases, it possibly causes not excepted 
exception and performance regression. 





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to