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

Venkata Ramana G commented on SPARK-2155:
-----------------------------------------

we can separate CASE KEY WHEN  and CASE WHEN into two expressions and can have 
an common abstract base class containing common code.
This will address redundant evaluation problem without duplicating code.

> Support effectful / non-deterministic key expressions in CASE WHEN statements
> -----------------------------------------------------------------------------
>
>                 Key: SPARK-2155
>                 URL: https://issues.apache.org/jira/browse/SPARK-2155
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Zongheng Yang
>            Priority: Minor
>
> Currently we translate CASE KEY WHEN to CASE WHEN, hence incurring redundant 
> evaluations of the key expression. Relevant discussions here: 
> https://github.com/apache/spark/pull/1055/files#r13784248
> If we are very in need of support for effectful key expressions, at least we 
> can resort to the baseline approach of having both CaseWhen and CaseKeyWhen 
> as expressions, which seem to introduce much code duplication (e.g. see 
> https://github.com/concretevitamin/spark/blob/47d406a58d129e5bba68bfadf9dd1faa9054d834/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala#L216
>  for a sketch implementation). 



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