diff --git a/spark-3.3/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala b/spark-3.3/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala index 567abbff..929c7101 100644 --- a/spark-3.3/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala +++ b/spark-3.3/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala @@ -110,7 +110,7 @@ object SchemaUtils { } private[clickhouse] def maybeNullable(chType: String, nullable: Boolean): String = - if (nullable) wrapNullable(chType) else chType + if (nullable && !chType.startsWith("Array") && !chType.startsWith("Map")) wrapNullable(chType) else chType private[clickhouse] def wrapNullable(chType: String): String = s"Nullable($chType)" } diff --git a/spark-3.4/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala b/spark-3.4/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala index 567abbff..929c7101 100644 --- a/spark-3.4/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala +++ b/spark-3.4/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala @@ -110,7 +110,7 @@ object SchemaUtils { } private[clickhouse] def maybeNullable(chType: String, nullable: Boolean): String = - if (nullable) wrapNullable(chType) else chType + if (nullable && !chType.startsWith("Array") && !chType.startsWith("Map")) wrapNullable(chType) else chType private[clickhouse] def wrapNullable(chType: String): String = s"Nullable($chType)" } diff --git a/spark-3.5/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala b/spark-3.5/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala index 567abbff..929c7101 100644 --- a/spark-3.5/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala +++ b/spark-3.5/clickhouse-spark/src/main/scala/org/apache/spark/sql/clickhouse/SchemaUtils.scala @@ -110,7 +110,7 @@ object SchemaUtils { } private[clickhouse] def maybeNullable(chType: String, nullable: Boolean): String = - if (nullable) wrapNullable(chType) else chType + if (nullable && !chType.startsWith("Array") && !chType.startsWith("Map")) wrapNullable(chType) else chType private[clickhouse] def wrapNullable(chType: String): String = s"Nullable($chType)" }