[ 
https://issues.apache.org/jira/browse/SPARK-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zongheng Yang updated SPARK-2155:
---------------------------------

    Description: 
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). 

  was:
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 share a lot of code duplications (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). 


> 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
>
> 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.2#6252)

Reply via email to