File tree Expand file tree Collapse file tree 1 file changed +14
-11
lines changed
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions Expand file tree Collapse file tree 1 file changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -233,17 +233,20 @@ case class CaseWhen(branches: Seq[Expression]) extends Expression {
233233 }.reduce(_ || _)
234234
235235 override lazy val resolved = {
236- lazy val allCondBooleans = branches.sliding(2 , 2 ).map {
237- case Seq (cond, value) => cond.dataType == BooleanType
238- case _ => true
239- }.reduce(_ && _)
240- lazy val dataTypes = branches.sliding(2 , 2 ).map {
241- case Seq (cond, value) => value.dataType
242- case Seq (elseValue) => elseValue.dataType
243- }.toSeq
244- lazy val dataTypesEqual =
245- if (dataTypes.size <= 1 ) true else dataTypes.drop(1 ).map(_ == dataTypes(0 )).reduce(_ && _)
246- if (! childrenResolved) false else allCondBooleans && dataTypesEqual
236+ if (! childrenResolved) {
237+ false
238+ } else {
239+ val allCondBooleans = branches.sliding(2 , 2 ).map {
240+ case Seq (cond, value) => cond.dataType == BooleanType
241+ case _ => true
242+ }.reduce(_ && _)
243+ val dataTypes = branches.sliding(2 , 2 ).map {
244+ case Seq (cond, value) => value.dataType
245+ case Seq (elseValue) => elseValue.dataType
246+ }.toSeq
247+ val dataTypesEqual = dataTypes.distinct.size <= 1
248+ allCondBooleans && dataTypesEqual
249+ }
247250 }
248251
249252 private lazy val branchesArr = branches.toArray
You can’t perform that action at this time.
0 commit comments