This is an automated email from the ASF dual-hosted git repository.

yuzelin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new affae75055 [arrow] Fix map type conversion from paimon type to arrow 
type (#5922)
affae75055 is described below

commit affae750558d8d9df333606b7231d1ee79d5465f
Author: YeJunHao <[email protected]>
AuthorDate: Fri Jul 18 13:13:11 2025 +0800

    [arrow] Fix map type conversion from paimon type to arrow type (#5922)
---
 .../src/main/java/org/apache/paimon/arrow/ArrowUtils.java |  6 +-----
 .../test/java/org/apache/paimon/arrow/ArrowUtilsTest.java | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/paimon-arrow/src/main/java/org/apache/paimon/arrow/ArrowUtils.java 
b/paimon-arrow/src/main/java/org/apache/paimon/arrow/ArrowUtils.java
index 617707697b..7e487e54fb 100644
--- a/paimon-arrow/src/main/java/org/apache/paimon/arrow/ArrowUtils.java
+++ b/paimon-arrow/src/main/java/org/apache/paimon/arrow/ArrowUtils.java
@@ -145,11 +145,7 @@ public class ArrowUtils {
                             keyField.getChildren());
 
             Field valueField =
-                    toArrowField(
-                            MapVector.VALUE_NAME,
-                            fieldId,
-                            mapType.getValueType().notNull(),
-                            depth + 1);
+                    toArrowField(MapVector.VALUE_NAME, fieldId, 
mapType.getValueType(), depth + 1);
             FieldType valueType = valueField.getFieldType();
             valueField =
                     new Field(
diff --git 
a/paimon-arrow/src/test/java/org/apache/paimon/arrow/ArrowUtilsTest.java 
b/paimon-arrow/src/test/java/org/apache/paimon/arrow/ArrowUtilsTest.java
index 319df13ba1..49af975150 100644
--- a/paimon-arrow/src/test/java/org/apache/paimon/arrow/ArrowUtilsTest.java
+++ b/paimon-arrow/src/test/java/org/apache/paimon/arrow/ArrowUtilsTest.java
@@ -19,11 +19,13 @@
 package org.apache.paimon.arrow;
 
 import org.apache.paimon.schema.Schema;
+import org.apache.paimon.types.DataType;
 import org.apache.paimon.types.DataTypes;
 import org.apache.paimon.types.RowType;
 
 import org.apache.arrow.memory.RootAllocator;
 import org.apache.arrow.vector.types.pojo.Field;
+import org.apache.arrow.vector.types.pojo.FieldType;
 import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -93,4 +95,17 @@ public class ArrowUtilsTest {
                     .isEqualTo(i);
         }
     }
+
+    @Test
+    public void testMap() {
+        DataType type = DataTypes.MAP(DataTypes.STRING(), DataTypes.STRING());
+        FieldType fieldType =
+                ArrowUtils.toArrowField("test", 0, type, 0)
+                        .getChildren()
+                        .get(0)
+                        .getChildren()
+                        .get(1)
+                        .getFieldType();
+        Assertions.assertThat(fieldType.isNullable()).isTrue();
+    }
 }

Reply via email to