From 09f7889b5c2039c55dc52e199f81862279192ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Thu, 6 Oct 2022 08:51:16 +0300 Subject: [PATCH 1/8] MDEV-29706 : SIGSEGV in wsrep_TOI_begin on non-Galera builds Do not allow setting wsrep_on=ON if no provider is set. --- .../r/wsrep_on_without_provider.result | 5 +++ .../suite/sys_vars/t/wsrep_on_basic.test | 45 ------------------- .../sys_vars/t/wsrep_on_without_provider.test | 9 ++++ sql/wsrep_var.cc | 6 +++ 4 files changed, 20 insertions(+), 45 deletions(-) create mode 100644 mysql-test/suite/sys_vars/r/wsrep_on_without_provider.result delete mode 100644 mysql-test/suite/sys_vars/t/wsrep_on_basic.test create mode 100644 mysql-test/suite/sys_vars/t/wsrep_on_without_provider.test diff --git a/mysql-test/suite/sys_vars/r/wsrep_on_without_provider.result b/mysql-test/suite/sys_vars/r/wsrep_on_without_provider.result new file mode 100644 index 00000000000..525619dba29 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/wsrep_on_without_provider.result @@ -0,0 +1,5 @@ +SET GLOBAL wsrep_on=ON; +ERROR HY000: WSREP (galera) can't be enabled if the wsrep_provider is unset or set to 'none' +SELECT @@global.wsrep_on; +@@global.wsrep_on +0 diff --git a/mysql-test/suite/sys_vars/t/wsrep_on_basic.test b/mysql-test/suite/sys_vars/t/wsrep_on_basic.test deleted file mode 100644 index 229d771b5e7..00000000000 --- a/mysql-test/suite/sys_vars/t/wsrep_on_basic.test +++ /dev/null @@ -1,45 +0,0 @@ ---source include/have_wsrep.inc - ---echo # ---echo # wsrep_on ---echo # - ---echo # save the initial values -SET @wsrep_on_global_saved = @@global.wsrep_on; -SET @wsrep_on_session_saved = @@session.wsrep_on; - ---echo # default -SELECT @@global.wsrep_on; -SELECT @@session.wsrep_on; - ---echo ---echo # scope and valid values -SET @@global.wsrep_on=OFF; -SELECT @@global.wsrep_on; -SET @@global.wsrep_on=ON; -SELECT @@global.wsrep_on; - -SET @@session.wsrep_on=OFF; -SELECT @@session.wsrep_on; -SET @@session.wsrep_on=ON; -SELECT @@session.wsrep_on; -SET @@session.wsrep_on=default; -SELECT @@session.wsrep_on; - ---echo ---echo # invalid values ---error ER_WRONG_VALUE_FOR_VAR -SET @@global.wsrep_on=NULL; ---error ER_WRONG_VALUE_FOR_VAR -SET @@global.wsrep_on='junk'; ---error ER_WRONG_VALUE_FOR_VAR -SET @@session.wsrep_on=NULL; ---error ER_WRONG_VALUE_FOR_VAR -SET @@session.wsrep_on='junk'; - ---echo ---echo # restore the initial values -SET @@global.wsrep_on = @wsrep_on_global_saved; -SET @@session.wsrep_on = @wsrep_on_session_saved; - ---echo # End of test diff --git a/mysql-test/suite/sys_vars/t/wsrep_on_without_provider.test b/mysql-test/suite/sys_vars/t/wsrep_on_without_provider.test new file mode 100644 index 00000000000..5bee3c9a356 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/wsrep_on_without_provider.test @@ -0,0 +1,9 @@ +--source include/not_embedded.inc + +# +# @@global.wsrep_on is not allowed if there +# is no wsrep_provider +# +--error ER_WRONG_ARGUMENTS +SET GLOBAL wsrep_on=ON; +SELECT @@global.wsrep_on; \ No newline at end of file diff --git a/sql/wsrep_var.cc b/sql/wsrep_var.cc index 413550935cb..ea8db8addab 100644 --- a/sql/wsrep_var.cc +++ b/sql/wsrep_var.cc @@ -70,6 +70,12 @@ bool wsrep_on_check(sys_var *self, THD* thd, set_var* var) " innodb_lock_schedule_algorithm=FCFS and restart.", MYF(0)); return true; } + if (new_wsrep_on && !WSREP_PROVIDER_EXISTS) + { + my_message(ER_WRONG_ARGUMENTS, "WSREP (galera) can't be enabled " + "if the wsrep_provider is unset or set to 'none'", MYF(0)); + return true; + } return false; } From d099bcadc3e38cf21d0d378ea4627b878be0972f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Thu, 6 Oct 2022 08:52:51 +0300 Subject: [PATCH 2/8] Test results updated. --- mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result | 4 ++-- mysql-test/suite/galera/r/galera_sync_wait_show.result | 2 +- mysql-test/suite/galera/r/galera_toi_ddl_error.result | 4 ++-- mysql-test/suite/galera/r/lp1376747-4.result | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result b/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result index a103e810588..bc6b263c41e 100644 --- a/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result +++ b/mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result @@ -15,7 +15,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `f1` int(11) DEFAULT NULL, `f2` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SHOW VARIABLES LIKE 'wsrep_desync'; Variable_name Value wsrep_desync OFF @@ -42,7 +42,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `f1` int(11) DEFAULT NULL, `f2` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SET wsrep_OSU_method=TOI; DROP TABLE t1; SET DEBUG_SYNC= 'RESET'; diff --git a/mysql-test/suite/galera/r/galera_sync_wait_show.result b/mysql-test/suite/galera/r/galera_sync_wait_show.result index def771ff88d..9edb2cbe780 100644 --- a/mysql-test/suite/galera/r/galera_sync_wait_show.result +++ b/mysql-test/suite/galera/r/galera_sync_wait_show.result @@ -5,7 +5,7 @@ CREATE DATABASE db1; connection node_2; SHOW CREATE DATABASE db1; Database Create Database -db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 */ +db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */ DROP DATABASE db1; connection node_1; CREATE PROCEDURE p1 () SELECT 1 FROM DUAL; diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_error.result b/mysql-test/suite/galera/r/galera_toi_ddl_error.result index dafad153867..ec4e6203324 100644 --- a/mysql-test/suite/galera/r/galera_toi_ddl_error.result +++ b/mysql-test/suite/galera/r/galera_toi_ddl_error.result @@ -10,12 +10,12 @@ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `f1` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci connection node_1; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `f1` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci DROP TABLE t1; DROP TABLE ten; diff --git a/mysql-test/suite/galera/r/lp1376747-4.result b/mysql-test/suite/galera/r/lp1376747-4.result index efce740ea88..0e12d59e922 100644 --- a/mysql-test/suite/galera/r/lp1376747-4.result +++ b/mysql-test/suite/galera/r/lp1376747-4.result @@ -14,7 +14,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `id` int(11) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SET debug_sync='flush_tables_with_read_lock_after_acquire_locks SIGNAL parked2 WAIT_FOR go2'; FLUSH TABLES t1 WITH READ LOCK;; connection node_2; @@ -26,7 +26,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `id` int(11) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci connection node_2a; set debug_sync= 'RESET'; UNLOCK TABLES; @@ -37,7 +37,7 @@ t1 CREATE TABLE `t1` ( `id` int(11) NOT NULL, `f2` int(11) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci SELECT * from t1; id f2 1 NULL From 602124bb3bdff83f208406c866774c7a9bf14ea8 Mon Sep 17 00:00:00 2001 From: Anel Husakovic Date: Mon, 8 Aug 2022 15:03:52 +0200 Subject: [PATCH 3/8] Remove redudant defines USE_MB and USE_MB_IDENT Reviewer: --- config.h.cmake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/config.h.cmake b/config.h.cmake index 962efeb13ba..10da62abbbf 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -261,9 +261,6 @@ #cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 1 #cmakedefine STRUCT_TIMESPEC_HAS_TV_NSEC 1 -#define USE_MB 1 -#define USE_MB_IDENT 1 - /* this means that valgrind headers and macros are available */ #cmakedefine HAVE_VALGRIND_MEMCHECK_H 1 @@ -462,8 +459,8 @@ #cmakedefine MYSQL_DEFAULT_CHARSET_NAME "@MYSQL_DEFAULT_CHARSET_NAME@" #cmakedefine MYSQL_DEFAULT_COLLATION_NAME "@MYSQL_DEFAULT_COLLATION_NAME@" -#cmakedefine USE_MB 1 -#cmakedefine USE_MB_IDENT 1 +#cmakedefine USE_MB +#cmakedefine USE_MB_IDENT /* This should mean case insensitive file system */ #cmakedefine FN_NO_CASE_SENSE 1 From 56b97ca03ac19b5bf2d95494d861f49324008676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 10 Oct 2022 09:12:55 +0300 Subject: [PATCH 4/8] MDEV-29742 heap number overflow A previous fix in commit efd8af535a4fa4aa3dd89a325340b6eb648e1bc8 failed to cover ALTER TABLE. PageBulk::isSpaceAvailable(): Check for record heap number overflow. --- mysql-test/suite/innodb/r/innodb-64k.result | 4 +++- mysql-test/suite/innodb/t/innodb-64k.test | 5 ++++- storage/innobase/btr/btr0bulk.cc | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/mysql-test/suite/innodb/r/innodb-64k.result b/mysql-test/suite/innodb/r/innodb-64k.result index 372dbbb91a0..189a615cbe3 100644 --- a/mysql-test/suite/innodb/r/innodb-64k.result +++ b/mysql-test/suite/innodb/r/innodb-64k.result @@ -1081,9 +1081,11 @@ COMMIT; drop table t2; DROP TABLE t1; # -# MDEV-19526 heap number overflow +# MDEV-19526/MDEV-29742 heap number overflow # CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a)) ENGINE=InnoDB; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; +ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; DROP TABLE t1; +# End of 10.3 tests diff --git a/mysql-test/suite/innodb/t/innodb-64k.test b/mysql-test/suite/innodb/t/innodb-64k.test index 62d7b929ba1..972ba6bb8b8 100644 --- a/mysql-test/suite/innodb/t/innodb-64k.test +++ b/mysql-test/suite/innodb/t/innodb-64k.test @@ -641,9 +641,12 @@ drop table t2; DROP TABLE t1; --echo # ---echo # MDEV-19526 heap number overflow +--echo # MDEV-19526/MDEV-29742 heap number overflow --echo # CREATE TABLE t1(a SMALLINT NOT NULL UNIQUE AUTO_INCREMENT, KEY(a)) ENGINE=InnoDB; INSERT INTO t1 (a) SELECT seq FROM seq_1_to_8191; +ALTER TABLE t1 FORCE, ALGORITHM=INPLACE; DROP TABLE t1; + +--echo # End of 10.3 tests diff --git a/storage/innobase/btr/btr0bulk.cc b/storage/innobase/btr/btr0bulk.cc index fdeba1e375b..0b53438feb7 100644 --- a/storage/innobase/btr/btr0bulk.cc +++ b/storage/innobase/btr/btr0bulk.cc @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2014, 2019, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2017, 2021, MariaDB Corporation. +Copyright (c) 2017, 2022, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -597,6 +597,11 @@ bool PageBulk::isSpaceAvailable( ulint rec_size) { + if (m_rec_no >= 8190) { + ut_ad(srv_page_size == 65536); + return false; + } + ulint slot_size; ulint required_space; From e05ab0cfc5f52c8c240bfc02239f199081d82f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Mon, 10 Oct 2022 09:36:43 +0300 Subject: [PATCH 5/8] Silence clang 13 -Wunused-but-set-variable for Bison --- sql/CMakeLists.txt | 11 +++++++++-- storage/innobase/CMakeLists.txt | 5 +++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 58964fc0f80..d7ec42d6abb 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2006, 2014, Oracle and/or its affiliates. -# Copyright (c) 2010, 2018, MariaDB Corporation +# Copyright (c) 2010, 2022, MariaDB Corporation. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -145,7 +145,14 @@ SET (SQL_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h ${MYSYS_LIBWRAP_SOURCE} ) - + +IF(CMAKE_C_COMPILER_ID MATCHES "Clang" AND + NOT CMAKE_C_COMPILER_VERSION VERSION_LESS "13.0.0") + ADD_COMPILE_FLAGS(${CMAKE_CURRENT_BINARY_DIR}/sql_yacc.cc + ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.cc + COMPILE_FLAGS "-Wno-unused-but-set-variable") +ENDIF() + IF (CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "SunOS" OR diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index bb6da42c51b..81b1acf8b9e 100644 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -371,6 +371,11 @@ IF(MSVC) # on generated file. TARGET_COMPILE_OPTIONS(innobase PRIVATE "/wd4065") ENDIF() +IF(CMAKE_C_COMPILER_ID MATCHES "Clang" AND + NOT CMAKE_C_COMPILER_VERSION VERSION_LESS "13.0.0") + ADD_COMPILE_FLAGS(pars/pars0grm.cc fts/fts0pars.cc + COMPILE_FLAGS "-Wno-unused-but-set-variable") +ENDIF() IF(NOT (PLUGIN_INNOBASE STREQUAL DYNAMIC)) ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/extra/mariabackup ${CMAKE_BINARY_DIR}/extra/mariabackup) From c49ebd2622867975fdda96cbfa88d12f01e9847a Mon Sep 17 00:00:00 2001 From: Julius Goryavsky Date: Tue, 11 Oct 2022 10:15:09 +0200 Subject: [PATCH 6/8] MDEV-21905: Galera test galera_var_notify_cmd causes hang The problem is related to performing operations without switching wsrep off, this commit fixes this and allows disabled tests. --- mysql-test/std_data/wsrep_notify.sh | 15 ++++++++------- mysql-test/std_data/wsrep_notify_ssl.sh | 15 ++++++++------- support-files/wsrep_notify.sh | 15 ++++++++------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/mysql-test/std_data/wsrep_notify.sh b/mysql-test/std_data/wsrep_notify.sh index d5defd6420e..5dfd63462b9 100755 --- a/mysql-test/std_data/wsrep_notify.sh +++ b/mysql-test/std_data/wsrep_notify.sh @@ -34,8 +34,10 @@ SCHEMA="mtr_wsrep_notify" MEMB_TABLE="$SCHEMA.membership" STATUS_TABLE="$SCHEMA.status" -BEGIN=" -SET wsrep_on=0; +WSREP_ON='SET wsrep_on=ON' +WSREP_OFF='SET wsrep_on=OFF' + +BEGIN="$WSREP_OFF; CREATE SCHEMA IF NOT EXISTS $SCHEMA; CREATE TABLE IF NOT EXISTS $MEMB_TABLE ( idx INT, @@ -50,9 +52,8 @@ CREATE TABLE IF NOT EXISTS $STATUS_TABLE ( uuid CHAR(40), /* cluster UUID */ prim BOOLEAN /* if component is primary */ ) ENGINE=MEMORY; -BEGIN; -" -END="COMMIT;" +BEGIN" +END="COMMIT; $WSREP_ON" configuration_change() { @@ -71,12 +72,12 @@ configuration_change() echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" - echo "$END" + echo "$END;" } status_update() { - echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; COMMIT;" + echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;" } trim_string() diff --git a/mysql-test/std_data/wsrep_notify_ssl.sh b/mysql-test/std_data/wsrep_notify_ssl.sh index 0e416a2f448..2c6b6f4dacb 100755 --- a/mysql-test/std_data/wsrep_notify_ssl.sh +++ b/mysql-test/std_data/wsrep_notify_ssl.sh @@ -34,8 +34,10 @@ SCHEMA="mtr_wsrep_notify" MEMB_TABLE="$SCHEMA.membership" STATUS_TABLE="$SCHEMA.status" -BEGIN=" -SET wsrep_on=0; +WSREP_ON='SET wsrep_on=ON' +WSREP_OFF='SET wsrep_on=OFF' + +BEGIN="$WSREP_OFF; CREATE SCHEMA IF NOT EXISTS $SCHEMA; CREATE TABLE IF NOT EXISTS $MEMB_TABLE ( idx INT, @@ -50,9 +52,8 @@ CREATE TABLE IF NOT EXISTS $STATUS_TABLE ( uuid CHAR(40), /* cluster UUID */ prim BOOLEAN /* if component is primary */ ) ENGINE=MEMORY; -BEGIN; -" -END="COMMIT;" +BEGIN" +END="COMMIT; $WSREP_ON" configuration_change() { @@ -71,12 +72,12 @@ configuration_change() echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" - echo "$END" + echo "$END;" } status_update() { - echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; COMMIT;" + echo "$BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;" } trim_string() diff --git a/support-files/wsrep_notify.sh b/support-files/wsrep_notify.sh index 87ba11342c5..dde1ded0963 100755 --- a/support-files/wsrep_notify.sh +++ b/support-files/wsrep_notify.sh @@ -34,8 +34,10 @@ SCHEMA="wsrep" MEMB_TABLE="$SCHEMA.membership" STATUS_TABLE="$SCHEMA.status" -BEGIN=" -SET wsrep_on=0; +WSREP_ON='SET wsrep_on=ON' +WSREP_OFF='SET wsrep_on=OFF' + +BEGIN="$WSREP_OFF; DROP SCHEMA IF EXISTS $SCHEMA; CREATE SCHEMA $SCHEMA; CREATE TABLE $MEMB_TABLE ( idx INT UNIQUE PRIMARY KEY, @@ -50,9 +52,8 @@ CREATE TABLE $STATUS_TABLE ( uuid CHAR(40), /* cluster UUID */ prim BOOLEAN /* if component is primary */ ) ENGINE=MEMORY; -BEGIN; -" -END="COMMIT;" +BEGIN" +END="COMMIT; $WSREP_ON" configuration_change() { @@ -71,12 +72,12 @@ configuration_change() echo "INSERT INTO $STATUS_TABLE VALUES($idx, $INDEX, '$STATUS', '$CLUSTER_UUID', $PRIMARY);" - echo "$END" + echo "$END;" } status_update() { - echo "SET wsrep_on=0; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; COMMIT;" + echo "$WSREP_OFF; BEGIN; UPDATE $STATUS_TABLE SET status='$STATUS'; $END;" } trim_string() From 7a28c82dcddc82008e5d9a8a27b95e9597295e23 Mon Sep 17 00:00:00 2001 From: Zhibo Zhang Date: Tue, 11 Oct 2022 06:40:50 -0400 Subject: [PATCH 7/8] MDEV-29183: Clarify mysqlbinlog command description (#2245) The statement 'Verify checksum binlog events.' is confusing. Fix word order to make it clear. --- client/mysqlbinlog.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 1f1bb204493..7d2c5f7fdef 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1788,7 +1788,7 @@ that may lead to an endless loop.", &opt_binlog_rows_event_max_encoded_size, 0, GET_ULONG, REQUIRED_ARG, UINT_MAX/4, 256, ULONG_MAX, 0, 256, 0}, #endif - {"verify-binlog-checksum", 'c', "Verify checksum binlog events.", + {"verify-binlog-checksum", 'c', "Verify binlog event checksums.", (uchar**) &opt_verify_binlog_checksum, (uchar**) &opt_verify_binlog_checksum, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"rewrite-db", OPT_REWRITE_DB, From e8101a4d033a59237d542f4bd0ae0b5323058e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Tue, 11 Oct 2022 13:56:47 +0300 Subject: [PATCH 8/8] MDEV-19455/MDEV-29342 fixup: Avoid DEBUG_DBUG=-d,... --- mysql-test/suite/innodb_fts/r/misc_debug.result | 3 +-- mysql-test/suite/innodb_fts/r/misc_debug2.result | 5 +++-- mysql-test/suite/innodb_fts/t/misc_debug.test | 3 +-- mysql-test/suite/innodb_fts/t/misc_debug2.test | 5 +++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mysql-test/suite/innodb_fts/r/misc_debug.result b/mysql-test/suite/innodb_fts/r/misc_debug.result index 9f13822ecda..be5d9b7698e 100644 --- a/mysql-test/suite/innodb_fts/r/misc_debug.result +++ b/mysql-test/suite/innodb_fts/r/misc_debug.result @@ -54,9 +54,8 @@ DROP TABLE t1; # MDEV-25663 Double free of transaction during TRUNCATE # call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)"); -SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx'; -CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; SET @save_dbug= @@debug_dbug; +CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; SET debug_dbug='+d,ib_create_table_fail_too_many_trx'; TRUNCATE t1; ERROR HY000: Got error -1 "Internal error < 0 (Not system error)" from storage engine InnoDB diff --git a/mysql-test/suite/innodb_fts/r/misc_debug2.result b/mysql-test/suite/innodb_fts/r/misc_debug2.result index 583d43bd9db..a36561df96e 100644 --- a/mysql-test/suite/innodb_fts/r/misc_debug2.result +++ b/mysql-test/suite/innodb_fts/r/misc_debug2.result @@ -10,11 +10,12 @@ DROP TABLE mdev21563; # CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB; INSERT INTO t1 VALUES('mysql'), ('innodb'); +SET @save_dbug=@@debug_dbug; set debug_dbug="+d,fts_instrument_sync_debug"; INSERT INTO t1 VALUES('test'); -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; INSERT INTO t1 VALUES('This is a fts issue'); set debug_dbug="+d,fts_instrument_sync_debug"; UPDATE t1 SET f1="mariadb"; -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; DROP TABLE t1; diff --git a/mysql-test/suite/innodb_fts/t/misc_debug.test b/mysql-test/suite/innodb_fts/t/misc_debug.test index c8542152d4d..cf3651e14a2 100644 --- a/mysql-test/suite/innodb_fts/t/misc_debug.test +++ b/mysql-test/suite/innodb_fts/t/misc_debug.test @@ -84,10 +84,9 @@ DROP TABLE t1; --echo # MDEV-25663 Double free of transaction during TRUNCATE --echo # call mtr.add_suppression("InnoDB: \\(Too many concurrent transactions\\)"); -SET DEBUG_DBUG='-d,ib_create_table_fail_too_many_trx'; +SET @save_dbug= @@debug_dbug; CREATE TABLE t1 (b CHAR(12), FULLTEXT KEY(b)) engine=InnoDB; -SET @save_dbug= @@debug_dbug; SET debug_dbug='+d,ib_create_table_fail_too_many_trx'; --error ER_GET_ERRNO TRUNCATE t1; diff --git a/mysql-test/suite/innodb_fts/t/misc_debug2.test b/mysql-test/suite/innodb_fts/t/misc_debug2.test index 1ba77f2481e..815be816afd 100644 --- a/mysql-test/suite/innodb_fts/t/misc_debug2.test +++ b/mysql-test/suite/innodb_fts/t/misc_debug2.test @@ -16,12 +16,13 @@ DROP TABLE mdev21563; --echo # CREATE TABLE t1(f1 CHAR(100), FULLTEXT idx(f1))ENGINE=InnoDB; INSERT INTO t1 VALUES('mysql'), ('innodb'); +SET @save_dbug=@@debug_dbug; set debug_dbug="+d,fts_instrument_sync_debug"; INSERT INTO t1 VALUES('test'); -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; INSERT INTO t1 VALUES('This is a fts issue'); --source include/restart_mysqld.inc set debug_dbug="+d,fts_instrument_sync_debug"; UPDATE t1 SET f1="mariadb"; -set debug_dbug="-d,fts_instrument_sync_debug"; +set debug_dbug=@save_dbug; DROP TABLE t1;