This is an automated email from the ASF dual-hosted git repository.
wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new d2094bf2e [Bug][CDC] Fix TemporalConversions (#4542)
d2094bf2e is described below
commit d2094bf2e19de2bb8c6a7eb06b438982d5cb8e38
Author: hailin0 <[email protected]>
AuthorDate: Wed Apr 19 15:52:26 2023 +0800
[Bug][CDC] Fix TemporalConversions (#4542)
---
.../connectors/cdc/debezium/utils/TemporalConversions.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/utils/TemporalConversions.java
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/utils/TemporalConversions.java
index a05856f27..e18a05c1b 100644
---
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/utils/TemporalConversions.java
+++
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-base/src/main/java/org/apache/seatunnel/connectors/cdc/debezium/utils/TemporalConversions.java
@@ -25,6 +25,7 @@ import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
+import java.time.temporal.ChronoField;
import java.util.concurrent.TimeUnit;
/** Temporal conversion constants. */
@@ -66,6 +67,11 @@ public final class TemporalConversions {
return LocalDate.of(date.getYear() + 1900, date.getMonth() + 1,
date.getDate());
}
if (obj instanceof Long) {
+ if ((Long) obj > ChronoField.EPOCH_DAY.range().getMaximum()) {
+ return Instant.ofEpochMilli((Long) obj)
+ .atZone(ZoneId.systemDefault())
+ .toLocalDate();
+ }
// Assume the value is the epoch day number
return LocalDate.ofEpochDay((Long) obj);
}