diff --git a/sql/core/src/main/scala/org/apache/spark/sql/Column.scala b/sql/core/src/main/scala/org/apache/spark/sql/Column.scala index 0ee49e79ade7a..434a414f52030 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/Column.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/Column.scala @@ -972,17 +972,17 @@ class Column(val expr: Expression) extends Logging { } private def updateFieldsHelper( - struct: Expression, - namePartsRemaining: Seq[String], - value: String => StructFieldsOperation): UpdateFields = { + struct: Expression, + namePartsRemaining: Seq[String], + valueFunc: String => StructFieldsOperation): UpdateFields = { val fieldName = namePartsRemaining.head if (namePartsRemaining.length == 1) { - UpdateFields(struct, value(fieldName) :: Nil) + UpdateFields(struct, valueFunc(fieldName) :: Nil) } else { val newValue = updateFieldsHelper( struct = UnresolvedExtractValue(struct, Literal(fieldName)), namePartsRemaining = namePartsRemaining.tail, - value = value) + valueFunc = valueFunc) UpdateFields(struct, WithField(fieldName, newValue) :: Nil) } }