Skip to content

Commit fc942a5

Browse files
authored
[Fix][Connector-V2] Fix maxcompute sink write date less than actual date (#8999)
1 parent 9ba9f16 commit fc942a5

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

Diff for: seatunnel-connectors-v2/connector-maxcompute/src/main/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/util/MaxcomputeTypeMapper.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ private static Object resolveObject2Maxcompute(Object field, TypeInfo typeInfo)
263263
case BOOLEAN:
264264
case DECIMAL:
265265
case TIMESTAMP_NTZ:
266+
case DATE:
266267
return field;
267268
case BINARY:
268269
return new Binary((byte[]) field);
@@ -284,8 +285,6 @@ private static Object resolveObject2Maxcompute(Object field, TypeInfo typeInfo)
284285
case DATETIME:
285286
return Date.from(
286287
((LocalDateTime) field).atZone(ZoneId.systemDefault()).toInstant());
287-
case DATE:
288-
return Date.valueOf((LocalDate) field);
289288
default:
290289
throw new MaxcomputeConnectorException(
291290
CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,

Diff for: seatunnel-connectors-v2/connector-maxcompute/src/test/java/org/apache/seatunnel/connectors/seatunnel/maxcompute/BasicTypeToOdpsTypeTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.seatunnel.connectors.seatunnel.maxcompute;
1919

2020
import org.apache.seatunnel.api.table.type.BasicType;
21+
import org.apache.seatunnel.api.table.type.LocalTimeType;
2122
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
2223
import org.apache.seatunnel.api.table.type.SeaTunnelRow;
2324
import org.apache.seatunnel.api.table.type.SeaTunnelRowType;
@@ -33,6 +34,8 @@
3334
import com.aliyun.odps.data.Record;
3435
import lombok.SneakyThrows;
3536

37+
import java.time.LocalDate;
38+
3639
public class BasicTypeToOdpsTypeTest {
3740

3841
private static void testType(
@@ -102,4 +105,10 @@ void testDOUBLE_TYPE_2_DOUBLE() {
102105
void testVOID_TYPE_2_VOID() {
103106
testType("VOID_TYPE_2_VOID", BasicType.VOID_TYPE, OdpsType.VOID, null);
104107
}
108+
109+
@SneakyThrows
110+
@Test
111+
void testDATE_TYPE_2_DATE() {
112+
testType("DATE_TYPE_2_DATE", LocalTimeType.LOCAL_DATE_TYPE, OdpsType.DATE, LocalDate.now());
113+
}
105114
}

0 commit comments

Comments
 (0)