This is an automated email from the ASF dual-hosted git repository.
diwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-flink-connector.git
The following commit(s) were added to refs/heads/master by this push:
new 54ea6a9 [buf](fix) fix inaccurate mapping of RDMS datetime/timestamp
to Doris (#292)
54ea6a9 is described below
commit 54ea6a99a9d61c4b48b7f26c037fa3c7d6f45b58
Author: Petrichor <[email protected]>
AuthorDate: Fri Jan 12 17:29:50 2024 +0800
[buf](fix) fix inaccurate mapping of RDMS datetime/timestamp to Doris (#292)
* Fix incorrect datetime precision mapping
---
.../main/java/org/apache/doris/flink/tools/cdc/mysql/MysqlType.java | 4 ++--
.../main/java/org/apache/doris/flink/tools/cdc/oracle/OracleType.java | 2 +-
.../java/org/apache/doris/flink/tools/cdc/postgres/PostgresType.java | 3 +--
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/mysql/MysqlType.java
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/mysql/MysqlType.java
index e1e8854..180414b 100644
---
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/mysql/MysqlType.java
+++
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/mysql/MysqlType.java
@@ -144,8 +144,8 @@ public class MysqlType {
return DorisType.DATE_V2;
case DATETIME:
case TIMESTAMP:
- return String.format(
- "%s(%s)", DorisType.DATETIME_V2, Math.min(length ==
null ? 0 : length, 6));
+ int dtScale = length > 19 ? length - 20 : 0;
+ return String.format("%s(%s)", DorisType.DATETIME_V2,
Math.min(dtScale, 6));
case CHAR:
case VARCHAR:
Preconditions.checkNotNull(length);
diff --git
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleType.java
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleType.java
index 6bd5ce3..b6d2bae 100644
---
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleType.java
+++
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleType.java
@@ -48,7 +48,7 @@ public class OracleType {
if (oracleType.startsWith(INTERVAL)) {
oracleType = oracleType.substring(0, 8);
} else if (oracleType.startsWith(TIMESTAMP)) {
- return String.format("%s(%s)", DorisType.DATETIME_V2, 6);
+ return String.format("%s(%s)", DorisType.DATETIME_V2,
Math.min(scale, 6));
}
switch (oracleType) {
case NUMBER:
diff --git
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/postgres/PostgresType.java
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/postgres/PostgresType.java
index 2508b15..ed80d45 100644
---
a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/postgres/PostgresType.java
+++
b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/postgres/PostgresType.java
@@ -97,8 +97,7 @@ public class PostgresType {
case TIMESTAMP:
case TIMESTAMPTZ:
return String.format(
- "%s(%s)",
- DorisType.DATETIME_V2, Math.min(precision == null ? 0
: precision, 6));
+ "%s(%s)", DorisType.DATETIME_V2, Math.min(scale ==
null ? 0 : scale, 6));
case DATE:
return DorisType.DATE_V2;
case BOOL:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]