mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fixed plugin
This commit is contained in:
@@ -646,15 +646,16 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
|
||||
continue;
|
||||
}
|
||||
|
||||
if (fieldMeta != null && existOptionalMetaData) {
|
||||
if (fieldMeta != null && existOptionalMetaData && tableMetaCache.isOnTSDB()) {
|
||||
// check column info
|
||||
boolean check = StringUtils.equalsIgnoreCase(fieldMeta.getColumnName(), info.name);
|
||||
check &= (fieldMeta.isUnsigned() == info.unsigned);
|
||||
check &= (fieldMeta.isNullable() == info.nullable);
|
||||
|
||||
if (!check) {
|
||||
throw new CanalParseException("MySQL8.0 unmatch column metadata & pls submit issue , db : "
|
||||
+ fieldMeta.toString() + " , binlog : " + info.toString()
|
||||
throw new CanalParseException("MySQL8.0 unmatch column metadata & pls submit issue , table : "
|
||||
+ tableMeta.getFullName() + ", db fieldMeta : "
|
||||
+ fieldMeta.toString() + " , binlog fieldMeta : " + info.toString()
|
||||
+ " , on : " + event.getHeader().getLogFileName() + ":"
|
||||
+ event.getHeader().getLogPos());
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ public class TableMetaCache {
|
||||
public static final String EXTRA = "EXTRA";
|
||||
private MysqlConnection connection;
|
||||
private boolean isOnRDS = false;
|
||||
private boolean isOnTSDB = false;
|
||||
|
||||
private TableMetaTSDB tableMetaTSDB;
|
||||
// 第一层tableId,第二层schema.table,解决tableId重复,对应多张表
|
||||
@@ -67,6 +68,8 @@ public class TableMetaCache {
|
||||
}
|
||||
|
||||
});
|
||||
} else {
|
||||
isOnTSDB = true;
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -244,6 +247,15 @@ public class TableMetaCache {
|
||||
.toString();
|
||||
}
|
||||
|
||||
|
||||
public boolean isOnTSDB() {
|
||||
return isOnTSDB;
|
||||
}
|
||||
|
||||
public void setOnTSDB(boolean isOnTSDB) {
|
||||
this.isOnTSDB = isOnTSDB;
|
||||
}
|
||||
|
||||
public boolean isOnRDS() {
|
||||
return isOnRDS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user