From e1eee99c808cb00b0ad1b08cad06d7a745f88c49 Mon Sep 17 00:00:00 2001 From: Angerszhuuuu Date: Thu, 20 Jan 2022 15:58:49 +0800 Subject: [PATCH 1/2] [SPARK-37967][SQL] Literal.create support ObjectType --- .../apache/spark/sql/catalyst/expressions/literals.scala | 1 + .../sql/catalyst/expressions/LiteralExpressionSuite.scala | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala index cc207e51f85c4..af10a18e4d16d 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala @@ -158,6 +158,7 @@ object Literal { Literal(CatalystTypeConverters.createToCatalystConverter(dataType)(v), dataType) case _: DayTimeIntervalType if v.isInstanceOf[Duration] => Literal(CatalystTypeConverters.createToCatalystConverter(dataType)(v), dataType) + case _: ObjectType => Literal(v, dataType) case _ => Literal(CatalystTypeConverters.convertToCatalyst(v), dataType) } } diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/LiteralExpressionSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/LiteralExpressionSuite.scala index 4081e138d2b62..b1934a06dc1bf 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/LiteralExpressionSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/LiteralExpressionSuite.scala @@ -34,7 +34,7 @@ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types._ import org.apache.spark.sql.types.DayTimeIntervalType._ import org.apache.spark.sql.types.YearMonthIntervalType._ -import org.apache.spark.unsafe.types.CalendarInterval +import org.apache.spark.unsafe.types.{CalendarInterval, UTF8String} class LiteralExpressionSuite extends SparkFunSuite with ExpressionEvalHelper { @@ -465,4 +465,10 @@ class LiteralExpressionSuite extends SparkFunSuite with ExpressionEvalHelper { checkEvaluation(Literal.create(duration, dt), result) } } + + test("SPARK-37967: Literal.create support ObjectType") { + checkEvaluation( + Literal.create(UTF8String.fromString("Spark SQL"), ObjectType(classOf[UTF8String])), + UTF8String.fromString("Spark SQL")) + } } From 660d3bb3dd6f5d5b3e297b5987c32967c862ed6d Mon Sep 17 00:00:00 2001 From: Angerszhuuuu Date: Thu, 20 Jan 2022 20:03:19 +0800 Subject: [PATCH 2/2] re-trigger