diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala index 507bca4f8adb1..5af5d4fd9f605 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala @@ -3667,7 +3667,8 @@ class Analyzer(override val catalogManager: CatalogManager) Cast(child, target.asNullable) case u @ UpCast(child, _, walkedTypePath) if !Cast.canUpCast(child.dataType, u.dataType) => - fail(child, u.dataType, walkedTypePath) + if (conf.isViewTruncateEnable) child + else fail(child, u.dataType, walkedTypePath) case u @ UpCast(child, _, _) => Cast(child, u.dataType) }