DbLoadMergerTest.java 文件源码

java
阅读 48 收藏 0 点赞 0 评论 0

项目:otter-G 作者:
/**
 * 测试在主键发生变化后的merge操作,Update/Update/delete
 */
@Test
public void testMergeWithUpdateKeyOfUUD() {
    Map<RowKey, EventData> mergeMap = new MapMaker().makeMap();
    DbLoadMerger.merge(makeUpdateEventData(KEY_VALUE_NEW1, KEY_VALUE_NEW2), mergeMap);
    DbLoadMerger.merge(makeUpdateEventData(KEY_VALUE_NEW2, KEY_VALUE), mergeMap);
    DbLoadMerger.merge(makeDeleteEventData(), mergeMap);

    for (Entry<RowKey, EventData> entry : mergeMap.entrySet()) {
        RowKey key = entry.getKey();
        EventColumn keyColumn = key.getKeys().get(0);
        Assert.assertEquals(KEY_VALUE_NEW1, keyColumn.getColumnValue());
        Assert.assertEquals(KEY_NAME, keyColumn.getColumnName());

        EventData eventData = entry.getValue();
        Assert.assertEquals(SCHEMA_NAME, eventData.getSchemaName());
        Assert.assertEquals(TABLE_NAME, eventData.getTableName());
        Assert.assertEquals(TABLE_ID, eventData.getTableId());
        Assert.assertEquals(EventType.DELETE, eventData.getEventType());
        Assert.assertEquals(eventData.getOldKeys().size(), 0); // 不存在oldKeys
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号