Skip to content

Commit 85dd559

Browse files
committed
use NamedExpr
1 parent c78e31a commit 85dd559

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypes.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,17 @@ case class CreateArray(children: Seq[Expression]) extends Expression {
146146
/**
147147
* Returns a Row containing the evaluation of all children expressions.
148148
*/
149-
case class CreateStruct(children: Seq[Expression]) extends Expression {
149+
case class CreateStruct(children: Seq[NamedExpression]) extends Expression {
150150
override type EvaluatedType = Row
151151

152152
override def foldable: Boolean = children.forall(_.foldable)
153153

154154
override lazy val resolved: Boolean = childrenResolved
155155

156-
override def dataType: StructType = {
156+
override lazy val dataType: StructType = {
157157
assert(resolved, s"CreateStruct is called with unresolved children: $children.")
158-
val fields = children.map {
159-
case named: NamedExpression =>
160-
StructField(named.name, named.dataType, named.nullable, named.metadata)
158+
val fields = children.map { child =>
159+
StructField(child.name, child.dataType, child.nullable, child.metadata)
161160
}
162161
StructType(fields)
163162
}

sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvaluationSuite.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,8 +1083,8 @@ class ExpressionEvaluationSuite extends FunSuite {
10831083

10841084
test("CreateStruct") {
10851085
val row = Row(1, 2, 3)
1086-
val c1 = 'a.int.at(0)
1087-
val c3 = 'a.int.at(2)
1086+
val c1 = 'a.int.at(0).as("a")
1087+
val c3 = 'c.int.at(2).as("c")
10881088
checkEvaluation(CreateStruct(Seq(c1, c3)), Row(1, 3), row)
10891089
}
10901090
}

0 commit comments

Comments
 (0)