From ac6242bae94b9bbe1d262bb25f02eed21793f302 Mon Sep 17 00:00:00 2001 From: "jianghang.loujh" Date: Thu, 23 Apr 2026 14:22:53 +0800 Subject: [PATCH] compatiable polardb-x hippo&spc index status --- .gitignore | 2 + .../dbsync/binlog/event/QueryLogEvent.java | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/.gitignore b/.gitignore index c94054d4..a1a08426 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,8 @@ jtester.properties *.rpm client-adapter/example/ *.dat +.qwen/ +.vscode/ conf/ canal-admin/canal-admin-ui/dist/ canal-admin/canal-admin-ui/node/ 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 75912d71..5ee22886 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 @@ -301,6 +301,8 @@ public class QueryLogEvent extends LogEvent { + 1 + 1 /* type, default_table_encryption */ + 1 + 1 /* opt_flashback_area */ + 1 + 1 /* type, opt_index_format_gpp_enabled */ + + 1 + 1 /* type, opt_index_format_hippo_enabled */ + + 1 + 1 /* type, opt_index_format_spc_enabled */ + 1 + 1 /* type, opt_index_format_panda_enabled */ + 1 + 1 + NAME_LEN /* type, length, recycle_bin_table_name */); @@ -620,8 +622,33 @@ public class QueryLogEvent extends LogEvent { /** * Replicate recycle_bin_table_name. */ + /** + * Replicate opt_index_format_spc_enabled. + * + * @since PolarDB-X + */ + public static final int Q_OPT_INDEX_FORMAT_SPC_ENABLED = 252; + + /** + * Replicate opt_index_format_hippo_enabled. + * + * @since PolarDB-X + */ + public static final int Q_OPT_INDEX_FORMAT_HIPPO_ENABLED = 253; + + /* + Replicate recycle_bin_table_name. + + @since PolarDB-X + */ public static final int Q_OPT_RECYCLE_BIN_TABLE_NAME = 254; + /* + Replicate opt_index_format_panda_enabled. + Private codes are allocated from 255 downward (deployment order). + + @since PolarDB-X + */ public static final int Q_OPT_INDEX_FORMAT_PANDA_ENABLED = 255; private static final String findCodeName(final int code) { @@ -669,6 +696,10 @@ public class QueryLogEvent extends LogEvent { return "Q_OPT_FLASHBACK_AREA"; case Q_OPT_INDEX_FORMAT_GPP_ENABLED: return "Q_OPT_INDEX_FORMAT_GPP_ENABLED"; + case Q_OPT_INDEX_FORMAT_SPC_ENABLED: + return "Q_OPT_INDEX_FORMAT_SPC_ENABLED"; + case Q_OPT_INDEX_FORMAT_HIPPO_ENABLED: + return "Q_OPT_INDEX_FORMAT_HIPPO_ENABLED"; case Q_OPT_RECYCLE_BIN_TABLE_NAME: return "Q_OPT_RECYCLE_BIN_TABLE_NAME"; case Q_OPT_INDEX_FORMAT_PANDA_ENABLED: @@ -844,6 +875,14 @@ public class QueryLogEvent extends LogEvent { // prepareGCN = buffer.getLong64(); buffer.forward(8); break; + case Q_OPT_INDEX_FORMAT_SPC_ENABLED: + // *start++ = thd->variables.opt_index_format_spc_enabled; + buffer.forward(1); + break; + case Q_OPT_INDEX_FORMAT_HIPPO_ENABLED: + // *start++ = thd->variables.opt_index_format_hippo_enabled; + buffer.forward(1); + break; case Q_OPT_RECYCLE_BIN_TABLE_NAME: int recycle_bin_table_name_len = buffer.getUint8(); String recycle_bin_table_name = null;