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

Dongjoon Hyun commented on SPARK-27671:
---------------------------------------

The patch can land on `master` and `branch-2.4`. From branch-2.3, we need more 
patches. So, it's not feasible to backport.

> Fix error when casting from a nested null in a struct
> -----------------------------------------------------
>
>                 Key: SPARK-27671
>                 URL: https://issues.apache.org/jira/browse/SPARK-27671
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.0.0, 2.4.3
>            Reporter: Liang-Chi Hsieh
>            Priority: Major
>
> When a null in a nested field in struct, casting from the struct throws 
> error, currently.
> {code}
> scala> sql("select cast(struct(1, null) as struct<a:int,b:int>)").show
> scala.MatchError: NullType (of class org.apache.spark.sql.types.NullType$)    
>                                                                          
>   at org.apache.spark.sql.catalyst.expressions.Cast.castToInt(Cast.scala:447) 
>                                                                          
>   at org.apache.spark.sql.catalyst.expressions.Cast.cast(Cast.scala:635)      
>                                                                          
>   at 
> org.apache.spark.sql.catalyst.expressions.Cast.$anonfun$castStruct$1(Cast.scala:603)
>    
> {code}
> {code}
> scala> sql("select * FROM VALUES (('a', (10, null))), (('b', (10, 50))), 
> (('c', null)) AS tab(x, y)").show                                             
> org.apache.spark.sql.AnalysisException: failed to evaluate expression 
> named_struct('col1', 10, 'col2', NULL): NullType (of class 
> org.apache.spark.sql.t
> ypes.NullType$); line 1 pos 14                                                
>                                                                          
>   at 
> org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:47)
>                                                      
>   at 
> org.apache.spark.sql.catalyst.analysis.ResolveInlineTables.$anonfun$convert$6(ResolveInlineTables.scala:106)
>         
> {code}



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

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

Reply via email to