Skip to content

Commit 618e349

Browse files
committed
make tests work in scala
1 parent 61b8e0f commit 618e349

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/types/dataTypes.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,11 @@ object DataType {
7070

7171
private def parseStructField(json: JValue): StructField = json match {
7272
case JSortedObject(
73+
("metadata", metadata: JObject),
7374
("name", JString(name)),
7475
("nullable", JBool(nullable)),
7576
("type", dataType: JValue)) =>
76-
StructField(name, parseDataType(dataType), nullable)
77+
StructField(name, parseDataType(dataType), nullable, metadata.values)
7778
}
7879

7980
@deprecated("Use DataType.fromJson instead")
@@ -393,14 +394,15 @@ case class StructField(
393394
}
394395

395396
override def toString: String = {
396-
// TODO: Remove this function after SPARK-3713.
397+
// Do not add metadata to be consistent with CaseClassStringParser.
397398
s"StructField($name,$dataType,$nullable)"
398399
}
399-
400+
400401
private[sql] def jsonValue: JValue = {
401402
("name" -> name) ~
402403
("type" -> dataType.jsonValue) ~
403-
("nullable" -> nullable)
404+
("nullable" -> nullable) ~
405+
("metadata" -> Extraction.decompose(metadata)(DefaultFormats))
404406
}
405407
}
406408

sql/core/src/test/scala/org/apache/spark/sql/DataTypeSuite.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,6 @@ class DataTypeSuite extends FunSuite {
8282
checkDataTypeJsonRepr(
8383
StructType(Seq(
8484
StructField("a", IntegerType, nullable = true),
85-
StructField("b", ArrayType(DoubleType), nullable = false))))
85+
StructField("b", ArrayType(DoubleType), nullable = false),
86+
StructField("c", DoubleType, nullable = false, metadata = Map("name" -> "age")))))
8687
}

0 commit comments

Comments
 (0)