This is an automated email from the ASF dual-hosted git repository.
diwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-spark-connector.git
The following commit(s) were added to refs/heads/master by this push:
new f1e402a [fix](load) fix npe when array is null (#147)
f1e402a is described below
commit f1e402a7467dfe041e3d34425c586c8e129c48b9
Author: daikon <[email protected]>
AuthorDate: Wed Oct 25 15:19:51 2023 +0800
[fix](load) fix npe when array is null (#147)
---
.../scala/org/apache/doris/spark/sql/SchemaUtils.scala | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git
a/spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala
b/spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala
index 44baa95..e806059 100644
---
a/spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala
+++
b/spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala
@@ -32,7 +32,6 @@ import org.slf4j.LoggerFactory
import java.sql.Timestamp
import java.time.{LocalDateTime, ZoneOffset}
import scala.collection.JavaConversions._
-import scala.collection.mutable
private[spark] object SchemaUtils {
private val logger =
LoggerFactory.getLogger(SchemaUtils.getClass.getSimpleName.stripSuffix("$"))
@@ -166,13 +165,14 @@ private[spark] object SchemaUtils {
case dt: DecimalType => row.getDecimal(ordinal, dt.precision, dt.scale)
case at: ArrayType =>
val arrayData = row.getArray(ordinal)
- var i = 0
- val buffer = mutable.Buffer[Any]()
- while (i < arrayData.numElements()) {
- if (arrayData.isNullAt(i)) buffer += null else buffer +=
rowColumnValue(arrayData, i, at.elementType)
- i += 1
+ if (arrayData == null) DataUtil.NULL_VALUE
+ else if(arrayData.numElements() == 0) "[]"
+ else {
+ (0 until arrayData.numElements()).map(i => {
+ if (arrayData.isNullAt(i)) null else rowColumnValue(arrayData, i,
at.elementType)
+ }).mkString("[", ",", "]")
}
- s"[${buffer.mkString(",")}]"
+
case mt: MapType =>
val mapData = row.getMap(ordinal)
val keys = mapData.keyArray()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]