szehon-ho commented on code in PR #50959: URL: https://github.com/apache/spark/pull/50959#discussion_r2098783455
########## sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/ResolveDefaultColumnsUtil.scala: ########## @@ -432,18 +432,34 @@ object ResolveDefaultColumns extends QueryErrorsBase targetType: DataType, colName: String): Option[Expression] = { expr match { - case l: Literal if !Seq(targetType, l.dataType).exists(_ match { + case l: Literal => defaultValueFromWiderType(l, targetType, colName) Review Comment: To explain this, the analyze() function in this class for strings does the following 1. analyze/ checkAnalyze 2. constant fold 3. cast However, because we add the rule in TypeCoercion, it runs before constant folding. Hence, relaxing the cast code to also take Expression instead of Literal. -- 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. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org