diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala index 87f0b50b9af2..514138ab7508 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/xml/StaxXmlGenerator.scala @@ -169,8 +169,8 @@ class StaxXmlGenerator( def writeElement(dt: DataType, v: Any, options: XmlOptions): Unit = (dt, v) match { case (_, null) | (NullType, _) => gen.writeCharacters(options.nullValue) - case (StringType, v: UTF8String) => gen.writeCharacters(v.toString) - case (StringType, v: String) => gen.writeCharacters(v) + case (_: StringType, v: UTF8String) => gen.writeCharacters(v.toString) + case (_: StringType, v: String) => gen.writeCharacters(v) case (TimestampType, v: Timestamp) => gen.writeCharacters(timestampFormatter.format(v.toInstant())) case (TimestampType, v: Long) => diff --git a/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala index 0a7b513457a5..993e6cc35a79 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/CollationSQLExpressionsSuite.scala @@ -1272,6 +1272,16 @@ class CollationSQLExpressionsSuite | true | 2.0 |""".stripMargin), + StructsToXmlTestCase("named_struct('A', 'aa', 'B', 'bb')", "UTF8_LCASE", + s""" + | aa + | bb + |""".stripMargin), + StructsToXmlTestCase("named_struct('A', 'aa', 'B', 'bb')", "UTF8_BINARY", + s""" + | aa + | bb + |""".stripMargin), StructsToXmlTestCase("named_struct()", "UNICODE", ""), StructsToXmlTestCase("named_struct('time', to_timestamp('2015-08-26'))", "UNICODE_CI",