From 2b0ac348c9ab5854a37e246a5c498d05095c103c Mon Sep 17 00:00:00 2001 From: "fqaiser94@gmail.com" Date: Wed, 12 Aug 2020 12:49:21 -0400 Subject: [PATCH] update classdoc for WithField explaining why we extend Unevaluable --- .../spark/sql/catalyst/expressions/complexTypeCreator.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala index 432db8e2f6f78..eeed6e1c609b8 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/complexTypeCreator.scala @@ -556,6 +556,9 @@ trait StructFieldsOperation { /** * Add or replace a field by name. + * + * We extend [[Unevaluable]] here to ensure that [[UpdateFields]] can include it as part of its + * children, and thereby enable the analyzer to resolve and transform valExpr as necessary. */ case class WithField(name: String, valExpr: Expression) extends Unevaluable with StructFieldsOperation {