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());
+ }
}