client-adapter/clickhouse/src/main/java/com/alibaba/otter/canal/client/adapter/clickhouse/support/SyncUtil.java [243:299]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        java.util.Date date = Util.parseDate(v);
                        if (date != null) {
                            pstmt.setTimestamp(i, new Timestamp(date.getTime()));
                        } else {
                            pstmt.setNull(i, type);
                        }
                    } else {
                        pstmt.setObject(i, value);
                    }
                } else {
                    pstmt.setNull(i, type);
                }
                break;
            default:
                pstmt.setObject(i, value, type);
        }
    }

    public static String getDbTableName(MappingConfig.DbMapping dbMapping, String dbType) {
        String result = "";
        String backtick = getBacktickByDbType(dbType);
        if (StringUtils.isNotEmpty(dbMapping.getTargetDb())) {
            result += (backtick + dbMapping.getTargetDb() + backtick + ".");
        }
        result += (backtick + dbMapping.getTargetTable() + backtick);
        return result;
    }

    public static String getSourceDbTableName(MappingConfig.DbMapping dbMapping, String dbType) {
        String result = "";
        String backtick = getBacktickByDbType(dbType);
        if (StringUtils.isNotEmpty(dbMapping.getDatabase())) {
            result += (backtick + dbMapping.getDatabase() + backtick + ".");
        }

        result += (backtick + dbMapping.getTable() + backtick);
        return result;
    }

    /**
     * 根据DbType返回反引号或空字符串
     *
     * @param dbTypeName DbType名称
     * @return 反引号或空字符串
     */
    public static String getBacktickByDbType(String dbTypeName) {
        DbType dbType = DbType.of(dbTypeName);
        if (dbType == null) {
            dbType = DbType.other;
        }

        // 只有当dbType为MySQL/MariaDB或OceanBase时返回反引号
        switch (dbType) {
            case mysql:
            case mariadb:
            case oceanbase:
                return "`";
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/SyncUtil.java [258:315]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            java.util.Date date = Util.parseDate(v);
                            if (date != null) {
                                pstmt.setTimestamp(i, new Timestamp(date.getTime()));
                            } else {
                                pstmt.setNull(i, type);
                            }
                        }
                    } else {
                        pstmt.setObject(i, value);
                    }
                } else {
                    pstmt.setNull(i, type);
                }
                break;
            default:
                pstmt.setObject(i, value, type);
        }
    }

    public static String getDbTableName(MappingConfig.DbMapping dbMapping, String dbType) {
        String result = "";
        String backtick = getBacktickByDbType(dbType);
        if (StringUtils.isNotEmpty(dbMapping.getTargetDb())) {
            result += (backtick + dbMapping.getTargetDb() + backtick + ".");
        }
        result += (backtick + dbMapping.getTargetTable() + backtick);
        return result;
    }

    public static String getSourceDbTableName(MappingConfig.DbMapping dbMapping, String dbType) {
        String result = "";
        String backtick = getBacktickByDbType(dbType);
        if (StringUtils.isNotEmpty(dbMapping.getDatabase())) {
            result += (backtick + dbMapping.getDatabase() + backtick + ".");
        }

        result += (backtick + dbMapping.getTable() + backtick);
        return result;
    }

    /**
     * 根据DbType返回反引号或空字符串
     *
     * @param dbTypeName DbType名称
     * @return 反引号或空字符串
     */
    public static String getBacktickByDbType(String dbTypeName) {
        DbType dbType = DbType.of(dbTypeName);
        if (dbType == null) {
            dbType = DbType.other;
        }

        // 只有当dbType为MySQL/MariaDB或OceanBase时返回反引号
        switch (dbType) {
            case mysql:
            case mariadb:
            case oceanbase:
                return "`";
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



