diff --git a/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java b/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java index 97a3ded3..618f8a78 100644 --- a/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java +++ b/common/src/main/java/com/alibaba/otter/canal/common/utils/JsonUtils.java @@ -29,7 +29,10 @@ public class JsonUtils { SerializeConfig.getGlobalInstance().put(InetAddress.class, InetAddressSerializer.instance); SerializeConfig.getGlobalInstance().put(Inet4Address.class, InetAddressSerializer.instance); SerializeConfig.getGlobalInstance().put(Inet6Address.class, InetAddressSerializer.instance); - ParserConfig.getGlobalInstance().setAutoTypeSupport(true); + // ParserConfig.getGlobalInstance().setAutoTypeSupport(true); + + ParserConfig.getGlobalInstance().addAccept("com.alibaba.otter."); + ParserConfig.getGlobalInstance().addAccept("com.taobao.tddl.dbsync."); } public static T unmarshalFromByte(byte[] bytes, Class targetClass) { diff --git a/parse/src/test/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/MemoryTableMeta_DDL_Test.java b/parse/src/test/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/MemoryTableMeta_DDL_Test.java index 2afd57e5..60c4bcd7 100644 --- a/parse/src/test/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/MemoryTableMeta_DDL_Test.java +++ b/parse/src/test/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/MemoryTableMeta_DDL_Test.java @@ -3,6 +3,7 @@ package com.alibaba.otter.canal.parse.inbound.mysql.tsdb; import java.io.File; import java.io.FileInputStream; import java.net.URL; +import java.util.List; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; @@ -12,7 +13,9 @@ import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import com.alibaba.fastsql.sql.repository.Schema; import com.alibaba.otter.canal.parse.inbound.TableMeta; +import com.google.common.collect.Lists; /** * @author agapple 2017年8月1日 下午7:15:54 @@ -66,4 +69,24 @@ public class MemoryTableMeta_DDL_Test { System.out.println(meta); Assert.assertTrue(meta.getFields().get(0).getColumnName().equalsIgnoreCase("id")); } + + @Test + public void test_any() throws Throwable { + MemoryTableMeta memoryTableMeta = new MemoryTableMeta(); + URL url = Thread.currentThread().getContextClassLoader().getResource("dummy.txt"); + File dummyFile = new File(url.getFile()); + File create = new File(dummyFile.getParent() + "/ddl", "ddl_any.sql"); + String sql = StringUtils.join(IOUtils.readLines(new FileInputStream(create)), "\n"); + memoryTableMeta.apply(null, "test", sql, null); + + List tableNames = Lists.newArrayList(); + for (Schema schema : memoryTableMeta.getRepository().getSchemas()) { + tableNames.addAll(schema.showTables()); + } + + for (String table : tableNames) { + TableMeta sourceMeta = memoryTableMeta.find("test", table); + System.out.println(sourceMeta.toString()); + } + } } diff --git a/parse/src/test/resources/ddl/ddl_any.sql b/parse/src/test/resources/ddl/ddl_any.sql new file mode 100644 index 00000000..e8a9a666 --- /dev/null +++ b/parse/src/test/resources/ddl/ddl_any.sql @@ -0,0 +1,12 @@ +CREATE TABLE procs_priv ( +Host char(60) COLLATE utf8_bin NOT NULL DEFAULT '', +Db char(64) COLLATE utf8_bin NOT NULL DEFAULT '', +User char(16) COLLATE utf8_bin NOT NULL DEFAULT '', +Routine_name char(64) CHARACTER SET utf8 NOT NULL DEFAULT '', +Routine_type enum('FUNCTION','PROCEDURE') COLLATE utf8_bin NOT NULL, +Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '', +Proc_priv set('Execute','Alter Routine','Grant') CHARACTER SET utf8 NOT NULL DEFAULT '', +Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), +KEY Grantor (Grantor) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges' \ No newline at end of file diff --git a/pom.xml b/pom.xml index a5ad41e4..c96a949f 100644 --- a/pom.xml +++ b/pom.xml @@ -98,6 +98,7 @@ 1.8 1.8 UTF-8 + true 3.2.18.RELEASE 4.5.2 0.8.3 @@ -221,7 +222,7 @@ com.alibaba fastjson - 1.2.28 + 1.2.58 com.google.guava @@ -417,6 +418,7 @@ + ${javadoc_skip} diff --git a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreBase.java b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreBase.java similarity index 97% rename from store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreBase.java rename to store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreBase.java index a0a27ca3..b57b8bb0 100644 --- a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreBase.java +++ b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreBase.java @@ -1,4 +1,4 @@ -package com.alibaba.otter.cancel.store.memory.buffer; +package com.alibaba.otter.canal.store.memory.buffer; import java.net.InetSocketAddress; diff --git a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMemBatchTest.java b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMemBatchTest.java similarity index 99% rename from store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMemBatchTest.java rename to store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMemBatchTest.java index 77603fd3..d64c22bb 100644 --- a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMemBatchTest.java +++ b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMemBatchTest.java @@ -1,4 +1,4 @@ -package com.alibaba.otter.cancel.store.memory.buffer; +package com.alibaba.otter.canal.store.memory.buffer; import java.util.ArrayList; import java.util.List; diff --git a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMultiThreadTest.java b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMultiThreadTest.java similarity index 99% rename from store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMultiThreadTest.java rename to store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMultiThreadTest.java index 0915e420..92d7758f 100644 --- a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreMultiThreadTest.java +++ b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreMultiThreadTest.java @@ -1,4 +1,4 @@ -package com.alibaba.otter.cancel.store.memory.buffer; +package com.alibaba.otter.canal.store.memory.buffer; import java.util.ArrayList; import java.util.List; diff --git a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStorePutAndGetTest.java b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStorePutAndGetTest.java similarity index 99% rename from store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStorePutAndGetTest.java rename to store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStorePutAndGetTest.java index b030a1e1..5c8b9424 100644 --- a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStorePutAndGetTest.java +++ b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStorePutAndGetTest.java @@ -1,4 +1,4 @@ -package com.alibaba.otter.cancel.store.memory.buffer; +package com.alibaba.otter.canal.store.memory.buffer; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; diff --git a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java similarity index 99% rename from store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java rename to store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java index 5ca7519e..1086cfc2 100644 --- a/store/src/test/java/com/alibaba/otter/cancel/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java +++ b/store/src/test/java/com/alibaba/otter/canal/store/memory/buffer/MemoryEventStoreRollbackAndAckTest.java @@ -1,4 +1,4 @@ -package com.alibaba.otter.cancel.store.memory.buffer; +package com.alibaba.otter.canal.store.memory.buffer; import java.util.ArrayList; import java.util.List;