[buf](fix) fix inaccurate mapping of RDMS datetime/timestamp to Doris (#292)

* Fix incorrect datetime precision mapping
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 @@
                 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 @@
         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 @@
             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: