You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by wa...@apache.org on 2023/04/19 07:52:32 UTC
[incubator-seatunnel] branch dev updated: [Bug][CDC] Fix TemporalConversions (#4542)
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 <wa...@apache.org>
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);
}