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 <1059907...@qq.com> 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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org