Github user viirya commented on a diff in the pull request: https://github.com/apache/spark/pull/22544#discussion_r220140252 --- Diff: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/TypeCoercion.scala --- @@ -971,9 +971,36 @@ object TypeCoercion { case (ArrayType(fromType, true), ArrayType(toType: DataType, false)) => null case (ArrayType(fromType, false), ArrayType(toType: DataType, false)) - if !Cast.forceNullable(fromType, toType) => + if !Cast.forceNullable(fromType, toType) => implicitCast(fromType, toType).map(ArrayType(_, false)).orNull + // Implicit cast between Map types. + // Follows the same semantics of implicit casting between two array types. + // Refer to documentation above. + case (MapType(fromKeyType, fromValueType, fn), MapType(toKeyType, toValueType, true)) => + val newFromType = implicitCast(fromKeyType, toKeyType).orNull --- End diff -- I think this should be named as `newKeyType`.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org