Просмотр исходного кода

从表插入, 主表为简单字段

mcy 6 лет назад
Родитель
Сommit
c9ad18894d

+ 5 - 4
client-adapter/elasticsearch/src/test/java/com/alibaba/otter/canal/client/adapter/es/test/sync/RoleSyncJoinSubTest.java

@@ -25,7 +25,7 @@ public class RoleSyncJoinSubTest {
     }
 
     /**
-     * 子查询从表插入 (确保主表记录必须有数据)
+     * 子查询从表插入 (确保主表记录必须有数据)
      */
     @Test
     public void insertTest01() {
@@ -34,19 +34,20 @@ public class RoleSyncJoinSubTest {
         dml.setTs(new Date().getTime());
         dml.setType("INSERT");
         dml.setDatabase("mytest");
-        dml.setTable("role");
+        dml.setTable("label");
         List<Map<String, Object>> dataList = new ArrayList<>();
         Map<String, Object> data = new LinkedHashMap<>();
         dataList.add(data);
         data.put("id", 1L);
-        data.put("role_name", "admin2");
+        data.put("user_id",1L);
+        data.put("label", "a");
 
         dml.setData(dataList);
 
         esAdapter.getEsSyncService().sync(dml);
 
         GetResponse response = esAdapter.getTransportClient().prepareGet("mytest_user", "_doc", "1").get();
-        Assert.assertEquals("admin2", response.getSource().get("_role_name"));
+        Assert.assertEquals("a;b", response.getSource().get("_labels"));
     }
 
     @After

+ 3 - 2
client-adapter/elasticsearch/src/test/resources/es/mytest_user_join_sub.yml

@@ -5,6 +5,7 @@ esMapping:
   _type: _doc
   _id: _id
   sql: "select a.id as _id, concat(a.name,'_') as _name, a.role_id as _role_id,
-        b.role_name as _role_name, a.c_time as _c_time from user a
-        left join (select id, role_name from role ) b on b.id=a.role_id"
+        b.labels _labels, a.c_time as _c_time from user a
+        left join (select user_id, group_concat(label separator ';') as labels from label
+        group by user_id) b on b.user_id=a.id"
   commitBatch: 3000

+ 1 - 1
client-adapter/elasticsearch/src/test/resources/es/mytest_user_single.yml

@@ -4,5 +4,5 @@ esMapping:
   _index: mytest_user
   _type: _doc
   _id: _id
-  sql: "select a.id as _id, a.names as _name, a.role_id as _role_id, a.c_time as _c_time from user a"
+  sql: "select a.id as _id, a.name as _name, a.role_id as _role_id, a.c_time as _c_time from user a"
   commitBatch: 3000