You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by gu...@apache.org on 2023/08/03 03:08:36 UTC
[spark] branch master updated: [SPARK-44488][SQL] Support deserializing long types when creating `Metadata` object from JObject
This is an automated email from the ASF dual-hosted git repository.
gurwls223 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new c607f184303 [SPARK-44488][SQL] Support deserializing long types when creating `Metadata` object from JObject
c607f184303 is described below
commit c607f1843035199a15d277bee03e56ba99da89c9
Author: Richard Chen <r....@databricks.com>
AuthorDate: Thu Aug 3 12:08:25 2023 +0900
[SPARK-44488][SQL] Support deserializing long types when creating `Metadata` object from JObject
### What changes were proposed in this pull request?
Adds support to deserialize long types when creating `Metadata` objects from `JObject`s.
### Why are the changes needed?
Code will previously crash when adding a `long` type to the `Metadata` object.
### Does this PR introduce _any_ user-facing change?
no
### How was this patch tested?
Closes #42083 from richardc-db/add_long_metadata_serialization.
Authored-by: Richard Chen <r....@databricks.com>
Signed-off-by: Hyukjin Kwon <gu...@apache.org>
---
sql/api/src/main/scala/org/apache/spark/sql/types/Metadata.scala | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sql/api/src/main/scala/org/apache/spark/sql/types/Metadata.scala b/sql/api/src/main/scala/org/apache/spark/sql/types/Metadata.scala
index 4e7ac996d31..3677927b9a5 100644
--- a/sql/api/src/main/scala/org/apache/spark/sql/types/Metadata.scala
+++ b/sql/api/src/main/scala/org/apache/spark/sql/types/Metadata.scala
@@ -137,6 +137,8 @@ object Metadata {
jObj.obj.foreach {
case (key, JInt(value)) =>
builder.putLong(key, value.toLong)
+ case (key, JLong(value)) =>
+ builder.putLong(key, value.toLong)
case (key, JDouble(value)) =>
builder.putDouble(key, value)
case (key, JBool(value)) =>
@@ -153,6 +155,8 @@ object Metadata {
value.head match {
case _: JInt =>
builder.putLongArray(key, value.asInstanceOf[List[JInt]].map(_.num.toLong).toArray)
+ case _: JLong =>
+ builder.putLongArray(key, value.asInstanceOf[List[JLong]].map(_.num.toLong).toArray)
case _: JDouble =>
builder.putDoubleArray(key, value.asInstanceOf[List[JDouble]].map(_.num).toArray)
case _: JBool =>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org