按我阅读代码的理解, 现在每当遇到 `repliacation.QueryEvent` 的时候会清除 table 的缓存, 然后触发 `OnTableChanged` 和 `OnDDL`, 那么怎么能够重新获得这个表的定义呢? 如果直接使用 `Canal.GetTable`, 它应该获得的是`当前`表的定义, 而不是 `binlog 事件发生时`的定义吧? 假如 binlog 同步中断了一段时间, 而在这段时间里表结构改变了(例如两列位置交换了), 再次重新开始同步时, 用新的表结构套旧的数据很可能会有问题吧? 不知道理解得对不对