Преглед на файлове

Merge pull request #1128 from spccold/master

fixed DatabaseTableMeta#compareTableMeta
agapple преди 6 години
родител
ревизия
808bedf984
променени са 1 файла, в които са добавени 6 реда и са изтрити 4 реда
  1. 6 4
      parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java

+ 6 - 4
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java

@@ -502,11 +502,13 @@ public class DatabaseTableMeta implements TableMetaTSDB {
                 return false;
             }
 
+            String sign = sourceField.isUnsigned() ? "unsigned" : "signed";
+            String sourceColumnType = StringUtils.removeEndIgnoreCase(sourceField.getColumnType(), sign).trim();
+            String targetColumnType = StringUtils.removeEndIgnoreCase(targetField.getColumnType(), sign).trim();
+            
             boolean columnTypeCompare = false;
-            columnTypeCompare |= StringUtils.containsIgnoreCase(sourceField.getColumnType(),
-                targetField.getColumnType());
-            columnTypeCompare |= StringUtils.containsIgnoreCase(targetField.getColumnType(),
-                sourceField.getColumnType());
+            columnTypeCompare |= StringUtils.containsIgnoreCase(sourceColumnType, targetColumnType);
+            columnTypeCompare |= StringUtils.containsIgnoreCase(targetColumnType, sourceColumnType);
             if (!columnTypeCompare) {
                 return false;
             }