Merge pull request #1526 from jiuchengspotorg/master
adapter rdb无法同步ddl更新问题修正
This commit is contained in:
+9
-7
@@ -68,7 +68,13 @@ public class JdbcTypeUtil {
|
||||
}
|
||||
|
||||
public static Object typeConvert(String columnName, String value, int sqlType, String mysqlType) {
|
||||
if (value == null || value.equals("")) {
|
||||
if (value == null
|
||||
|| (value.equals("")
|
||||
&& !("longtext".equals(mysqlType)
|
||||
|| "text".equals(mysqlType)
|
||||
|| sqlType == Types.CHAR
|
||||
|| sqlType == Types.VARCHAR
|
||||
|| sqlType == Types.LONGVARCHAR))) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -118,10 +124,8 @@ public class JdbcTypeUtil {
|
||||
value = value.trim().replace(" ", "T");
|
||||
DateTime dt = new DateTime(value);
|
||||
res = new Date(dt.toDate().getTime());
|
||||
} else {
|
||||
res = null;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case Types.TIME:
|
||||
value = "T" + value;
|
||||
DateTime dt = new DateTime(value);
|
||||
@@ -132,10 +136,8 @@ public class JdbcTypeUtil {
|
||||
value = value.trim().replace(" ", "T");
|
||||
dt = new DateTime(value);
|
||||
res = new Timestamp(dt.toDate().getTime());
|
||||
} else {
|
||||
res = null;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case Types.CLOB:
|
||||
default:
|
||||
res = value;
|
||||
|
||||
+1
@@ -37,6 +37,7 @@ public class MessageUtil {
|
||||
CanalEntry.EventType eventType = rowChange.getEventType();
|
||||
|
||||
final Dml dml = new Dml();
|
||||
dml.setIsDdl(rowChange.getIsDdl());
|
||||
dml.setDestination(destination);
|
||||
dml.setGroupId(groupId);
|
||||
dml.setDatabase(entry.getHeader().getSchemaName());
|
||||
|
||||
+2
-2
@@ -200,7 +200,7 @@ public class SyncUtil {
|
||||
DateTime dt = new DateTime(v);
|
||||
pstmt.setDate(i, new Date(dt.toDate().getTime()));
|
||||
} else {
|
||||
pstmt.setNull(i, type);
|
||||
pstmt.setObject(i, value);
|
||||
}
|
||||
} else {
|
||||
pstmt.setNull(i, type);
|
||||
@@ -232,7 +232,7 @@ public class SyncUtil {
|
||||
DateTime dt = new DateTime(v);
|
||||
pstmt.setTimestamp(i, new Timestamp(dt.toDate().getTime()));
|
||||
} else {
|
||||
pstmt.setNull(i, type);
|
||||
pstmt.setObject(i, value);
|
||||
}
|
||||
} else {
|
||||
pstmt.setNull(i, type);
|
||||
|
||||
Reference in New Issue
Block a user