From e233bec66a5d97e36f3eede442f3176543d044aa Mon Sep 17 00:00:00 2001 From: "jianghang.loujh" Date: Fri, 29 Dec 2023 12:08:28 +0800 Subject: [PATCH] fixed issue #5012 , support mariadb 11 for Q_CHARACTER_SET_COLLATIONS --- .../taobao/tddl/dbsync/binlog/event/QueryLogEvent.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/QueryLogEvent.java b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/QueryLogEvent.java index 1f8af7bd..16044f9a 100644 --- a/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/QueryLogEvent.java +++ b/dbsync/src/main/java/com/taobao/tddl/dbsync/binlog/event/QueryLogEvent.java @@ -641,6 +641,8 @@ public class QueryLogEvent extends LogEvent { public static final int Q_GTID_FLAGS3 = 130; + public static final int Q_CHARACTER_SET_COLLATIONS = 131; + private final void unpackVariables(LogBuffer buffer, final int end) throws IOException { int code = -1; try { @@ -772,6 +774,11 @@ public class QueryLogEvent extends LogEvent { buffer.forward(8); } break; + case Q_CHARACTER_SET_COLLATIONS : + // mariadb + int count = buffer.getUint8(); + // character_set_collations= Lex_cstring((const char *) pos0 , (const char *) pos); + buffer.forward(count * 4); default: /* * That's why you must write status vars in growing @@ -835,6 +842,8 @@ public class QueryLogEvent extends LogEvent { return "Q_XID"; case Q_GTID_FLAGS3: return "Q_GTID_FLAGS3"; + case Q_CHARACTER_SET_COLLATIONS : + return "Q_CHARACTER_SET_COLLATIONS"; } return "CODE#" + code; }