diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala index f104e742c90f..b51880dceaf5 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala @@ -105,6 +105,12 @@ trait CheckAnalysis { cleaned.foreach(checkValidAggregateExpression) + case u @ Union(left, right) if left.output.size != right.output.size => + failAnalysis( + s"union's left child and right child have different output size. " + + s"union node: $u left output size: ${left.output.size}, " + + s"right output size: ${right.output.size}") + case _ => // Fallbacks to the following checks }