From 39b06f7b8cdaf3f85f53eb1efbf32684f13d92ee Mon Sep 17 00:00:00 2001 From: Marcelo Altmann Date: Mon, 30 Mar 2026 11:44:25 -0300 Subject: [PATCH] Fix stale sql_mode values in Query_event Doxygen documentation The MODE_* hex values listed in the Q_SQL_MODE_CODE documentation in statement_events.h were outdated. The values from MODE_ANSI onward were all shifted by one bit compared to the actual definitions in sql/system_variables.h, and MODE_NO_ENGINE_SUBSTITUTION was missing entirely. Updated all values to match system_variables.h, which is the authoritative source (sql_mode is written to the binlog directly from thd->variables.sql_mode without conversion). --- libs/mysql/binlog/event/statement_events.h | 23 +++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libs/mysql/binlog/event/statement_events.h b/libs/mysql/binlog/event/statement_events.h index 0e7684470c2c..dea5fcb4000e 100644 --- a/libs/mysql/binlog/event/statement_events.h +++ b/libs/mysql/binlog/event/statement_events.h @@ -202,17 +202,18 @@ const uint64_t INVALID_XID = 0xffffffffffffffffULL; MODE_ONLY_FULL_GROUP_BY==0x20 MODE_NO_UNSIGNED_SUBTRACTION==0x40 MODE_NO_DIR_IN_CREATE==0x80 - MODE_ANSI==0x80000 - MODE_NO_AUTO_VALUE_ON_ZERO==0x100000 - MODE_NO_BACKSLASH_ESCAPES==0x200000 - MODE_STRICT_TRANS_TABLES==0x400000 - MODE_STRICT_ALL_TABLES==0x800000 - MODE_NO_ZERO_IN_DATE==0x1000000 - MODE_NO_ZERO_DATE==0x2000000 - MODE_INVALID_DATES==0x4000000 - MODE_ERROR_FOR_DIVISION_BY_ZERO==0x8000000 - MODE_TRADITIONAL==0x10000000 - MODE_HIGH_NOT_PRECEDENCE==0x40000000 + MODE_ANSI==0x40000 + MODE_NO_AUTO_VALUE_ON_ZERO==0x80000 + MODE_NO_BACKSLASH_ESCAPES==0x100000 + MODE_STRICT_TRANS_TABLES==0x200000 + MODE_STRICT_ALL_TABLES==0x400000 + MODE_NO_ZERO_IN_DATE==0x800000 + MODE_NO_ZERO_DATE==0x1000000 + MODE_INVALID_DATES==0x2000000 + MODE_ERROR_FOR_DIVISION_BY_ZERO==0x4000000 + MODE_TRADITIONAL==0x8000000 + MODE_HIGH_NOT_PRECEDENCE==0x20000000 + MODE_NO_ENGINE_SUBSTITUTION==0x40000000 MODE_PAD_CHAR_TO_FULL_LENGTH==0x80000000 MODE_TIME_TRUNCATE_FRACTIONAL==0x100000000 MODE_INTERPRET_UTF8_AS_UTF8MB4==0x200000000