Преглед изворни кода

兼容阿里云rds低版本协议事件

穿云 пре 1 месец
родитељ
комит
f2a70740b3

+ 7 - 0
dbsyncer-connector/dbsyncer-connector-mysql/src/main/java/org/dbsyncer/connector/mysql/deserializer/DeleteDeserialize.java

@@ -8,6 +8,7 @@ import com.github.shyiko.mysql.binlog.event.deserialization.DeleteRowsEventDataD
 import com.github.shyiko.mysql.binlog.io.ByteArrayInputStream;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.Map;
 
 /**
@@ -16,6 +17,7 @@ import java.util.Map;
  * @Date 2025-04-12 15:21
  */
 public class DeleteDeserialize extends DeleteRowsEventDataDeserializer {
+    private final DatetimeV2Deserialize datetimeV2Deserialize = new DatetimeV2Deserialize();
     private final JsonBinaryDeserialize jsonBinaryDeserialize = new JsonBinaryDeserialize();
 
     public DeleteDeserialize(Map<Long, TableMapEventData> tableMapEventByTableId) {
@@ -25,4 +27,9 @@ public class DeleteDeserialize extends DeleteRowsEventDataDeserializer {
     protected byte[] deserializeJson(int meta, ByteArrayInputStream inputStream) throws IOException {
         return jsonBinaryDeserialize.deserializeJson(meta, inputStream);
     }
+
+    @Override
+    protected Serializable deserializeDatetimeV2(int meta, ByteArrayInputStream inputStream) throws IOException {
+        return datetimeV2Deserialize.deserializeDatetimeV2(meta, inputStream);
+    }
 }

+ 6 - 0
dbsyncer-connector/dbsyncer-connector-mysql/src/main/java/org/dbsyncer/connector/mysql/deserializer/UpdateDeserialize.java

@@ -8,6 +8,7 @@ import com.github.shyiko.mysql.binlog.event.deserialization.UpdateRowsEventDataD
 import com.github.shyiko.mysql.binlog.io.ByteArrayInputStream;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.Map;
 
 /**
@@ -16,6 +17,7 @@ import java.util.Map;
  * @Date 2025-04-12 15:05
  */
 public class UpdateDeserialize extends UpdateRowsEventDataDeserializer {
+    private final DatetimeV2Deserialize datetimeV2Deserialize = new DatetimeV2Deserialize();
     private final JsonBinaryDeserialize jsonBinaryDeserialize = new JsonBinaryDeserialize();
     public UpdateDeserialize(Map<Long, TableMapEventData> tableMapEventByTableId) {
         super(tableMapEventByTableId);
@@ -25,4 +27,8 @@ public class UpdateDeserialize extends UpdateRowsEventDataDeserializer {
         return jsonBinaryDeserialize.deserializeJson(meta, inputStream);
     }
 
+    @Override
+    protected Serializable deserializeDatetimeV2(int meta, ByteArrayInputStream inputStream) throws IOException {
+        return datetimeV2Deserialize.deserializeDatetimeV2(meta, inputStream);
+    }
 }

+ 7 - 0
dbsyncer-connector/dbsyncer-connector-mysql/src/main/java/org/dbsyncer/connector/mysql/deserializer/WriteDeserialize.java

@@ -8,6 +8,7 @@ import com.github.shyiko.mysql.binlog.event.deserialization.WriteRowsEventDataDe
 import com.github.shyiko.mysql.binlog.io.ByteArrayInputStream;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.util.Map;
 
 /**
@@ -16,6 +17,7 @@ import java.util.Map;
  * @Date 2025-04-12 15:21
  */
 public class WriteDeserialize extends WriteRowsEventDataDeserializer {
+    private final DatetimeV2Deserialize datetimeV2Deserialize = new DatetimeV2Deserialize();
     private final JsonBinaryDeserialize jsonBinaryDeserialize = new JsonBinaryDeserialize();
 
     public WriteDeserialize(Map<Long, TableMapEventData> tableMapEventByTableId) {
@@ -25,4 +27,9 @@ public class WriteDeserialize extends WriteRowsEventDataDeserializer {
     protected byte[] deserializeJson(int meta, ByteArrayInputStream inputStream) throws IOException {
         return jsonBinaryDeserialize.deserializeJson(meta, inputStream);
     }
+
+    @Override
+    protected Serializable deserializeDatetimeV2(int meta, ByteArrayInputStream inputStream) throws IOException {
+        return datetimeV2Deserialize.deserializeDatetimeV2(meta, inputStream);
+    }
 }