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

gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new b1d66c537d [Fix] Fix get bytes from LinkHashMap (#5622)
b1d66c537d is described below

commit b1d66c537d119e7502233f26f9dd9a428e7cf33c
Author: Jia Fan <[email protected]>
AuthorDate: Fri Oct 13 20:23:15 2023 +0800

    [Fix] Fix get bytes from LinkHashMap (#5622)
    
    * [Fix] Fix get bytes from LinkHashMap
---
 .../java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java   | 1 +
 .../org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java    | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java
 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java
index 299026c407..622bb9b6a6 100644
--- 
a/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java
+++ 
b/seatunnel-api/src/main/java/org/apache/seatunnel/api/table/type/SeaTunnelRow.java
@@ -255,6 +255,7 @@ public final class SeaTunnelRow implements Serializable {
             case "Double[]":
                 return ((Double[]) v).length * 8;
             case "HashMap":
+            case "LinkedHashMap":
                 int size = 0;
                 for (Map.Entry<?, ?> entry : ((Map<?, ?>) v).entrySet()) {
                     size += getBytesForValue(entry.getKey()) + 
getBytesForValue(entry.getValue());
diff --git 
a/seatunnel-api/src/test/java/org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java
 
b/seatunnel-api/src/test/java/org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java
index eaad7f9576..7b3046c440 100644
--- 
a/seatunnel-api/src/test/java/org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java
+++ 
b/seatunnel-api/src/test/java/org/apache/seatunnel/api/table/type/SeaTunnelRowTest.java
@@ -22,6 +22,7 @@ import org.junit.jupiter.api.Test;
 
 import java.math.BigDecimal;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 public class SeaTunnelRowTest {
@@ -87,4 +88,12 @@ public class SeaTunnelRowTest {
                         });
         Assertions.assertEquals(181, row2.getBytesSize());
     }
+
+    @Test
+    void testWithLinkHashMap() {
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("key", "value");
+        SeaTunnelRow row = new SeaTunnelRow(new Object[] {map});
+        Assertions.assertEquals(8, row.getBytesSize());
+    }
 }

Reply via email to