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

wuchunfu 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 fc942a599b [Fix][Connector-V2] Fix maxcompute sink write date less 
than actual date (#8999)
fc942a599b is described below

commit fc942a599b96da5562d7c6cd2fdc5987199b9d60
Author: Jia Fan <[email protected]>
AuthorDate: Fri Mar 21 00:45:01 2025 +0800

    [Fix][Connector-V2] Fix maxcompute sink write date less than actual date 
(#8999)
---
 .../seatunnel/maxcompute/util/MaxcomputeTypeMapper.java          | 3 +--
 .../connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java | 9 +++++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/util/MaxcomputeTypeMapper.java
 
b/seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/util/MaxcomputeTypeMapper.java
index fa9eb9aad8..5e489bac7c 100644
--- 
a/seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/util/MaxcomputeTypeMapper.java
+++ 
b/seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/util/MaxcomputeTypeMapper.java
@@ -263,6 +263,7 @@ public class MaxcomputeTypeMapper implements Serializable {
             case BOOLEAN:
             case DECIMAL:
             case TIMESTAMP_NTZ:
+            case DATE:
                 return field;
             case BINARY:
                 return new Binary((byte[]) field);
@@ -284,8 +285,6 @@ public class MaxcomputeTypeMapper implements Serializable {
             case DATETIME:
                 return Date.from(
                         ((LocalDateTime) 
field).atZone(ZoneId.systemDefault()).toInstant());
-            case DATE:
-                return Date.valueOf((LocalDate) field);
             default:
                 throw new MaxcomputeConnectorException(
                         CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,
diff --git 
a/seatunnel-connectors-v2/connector-maxcompute/src/test/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java
 
b/seatunnel-connectors-v2/connector-maxcompute/src/test/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java
index d4542af820..6ed5f79818 100644
--- 
a/seatunnel-connectors-v2/connector-maxcompute/src/test/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java
+++ 
b/seatunnel-connectors-v2/connector-maxcompute/src/test/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java
@@ -18,6 +18,7 @@
 package org.apache.seatunnel.connectors.seatunnel.maxcompute;
 
 import org.apache.seatunnel.api.table.type.BasicType;
+import org.apache.seatunnel.api.table.type.LocalTimeType;
 import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
 import org.apache.seatunnel.api.table.type.SeaTunnelRow;
 import org.apache.seatunnel.api.table.type.SeaTunnelRowType;
@@ -33,6 +34,8 @@ import com.aliyun.odps.data.ArrayRecord;
 import com.aliyun.odps.data.Record;
 import lombok.SneakyThrows;
 
+import java.time.LocalDate;
+
 public class BasicTypeToOdpsTypeTest {
 
     private static void testType(
@@ -102,4 +105,10 @@ public class BasicTypeToOdpsTypeTest {
     void testVOID_TYPE_2_VOID() {
         testType("VOID_TYPE_2_VOID", BasicType.VOID_TYPE, OdpsType.VOID, null);
     }
+
+    @SneakyThrows
+    @Test
+    void testDATE_TYPE_2_DATE() {
+        testType("DATE_TYPE_2_DATE", LocalTimeType.LOCAL_DATE_TYPE, 
OdpsType.DATE, LocalDate.now());
+    }
 }

Reply via email to