You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2019/05/10 10:46:18 UTC

[GitHub] [spark] viirya opened a new pull request #24576: [SPARK-27671][SQL] Fix error when casting from a nested null in a struct

viirya opened a new pull request #24576: [SPARK-27671][SQL] Fix error when casting from a nested null in a struct
URL: https://github.com/apache/spark/pull/24576
 
 
   ## What changes were proposed in this pull request?
   
   When a null in a nested field in struct, casting from the struct throws error, currently.
   
   ```scala
   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)   
   ```
   
   ```scala
   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)        
   ```
   
   This fixes the issue.
   
   ## How was this patch tested?
   
   Added tests.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org