mirror of
https://github.com/MariaDB/server.git
synced 2026-10-23 18:49:29 +03:00
When updating replicate_do_db and slave_parallel_mode, the handlers checked !base_name->length instead of !base_name->str to determine whether to fall back to @@SESSION.default_master_connection. Because an explicit blank qualifier (``) has length 0 with a non-NULL pointer, SET statements using empty backticks mistakenly updated default_master_connection rather than the unnamed connection. Fixed by checking !base_name->str instead of !base_name->length. Also fixed SELECT @@GLOBAL.slave_parallel_mode, which had the same issue when reading the variable. Renamed the regression test to sys_vars_default_master to reflect the broader coverage and merged the test cases of MDEV-40296 and MDEV-40297. Reviewed-by: ParadoxV5 <paradox.ver5@gmail.com>
33 lines
1.1 KiB
Plaintext
33 lines
1.1 KiB
Plaintext
SET @saved_replicate_do_db= @@GLOBAL.replicate_do_db;
|
|
SET @saved_slave_parallel_mode= @@GLOBAL.slave_parallel_mode;
|
|
SET @saved_default_master_connection= @@SESSION.default_master_connection;
|
|
CHANGE MASTER 'name' TO master_host='127.0.0.1', master_user='root';
|
|
SET @@SESSION.default_master_connection= 'name';
|
|
SET @@GLOBAL.replicate_do_db= 'named';
|
|
SET @@GLOBAL.``.replicate_do_db= 'unnamed';
|
|
SELECT @@GLOBAL.name.replicate_do_db;
|
|
@@GLOBAL.name.replicate_do_db
|
|
named
|
|
SELECT @@GLOBAL.replicate_do_db;
|
|
@@GLOBAL.replicate_do_db
|
|
named
|
|
SELECT @@GLOBAL.``.replicate_do_db;
|
|
@@GLOBAL.``.replicate_do_db
|
|
unnamed
|
|
SET @@GLOBAL.slave_parallel_mode= 'minimal';
|
|
SET @@GLOBAL.``.slave_parallel_mode= 'aggressive';
|
|
SELECT @@GLOBAL.name.slave_parallel_mode;
|
|
@@GLOBAL.name.slave_parallel_mode
|
|
minimal
|
|
SELECT @@GLOBAL.slave_parallel_mode;
|
|
@@GLOBAL.slave_parallel_mode
|
|
minimal
|
|
SELECT @@GLOBAL.``.slave_parallel_mode;
|
|
@@GLOBAL.``.slave_parallel_mode
|
|
aggressive
|
|
RESET SLAVE 'name' ALL;
|
|
SET @@SESSION.default_master_connection= @saved_default_master_connection;
|
|
SET @@GLOBAL.slave_parallel_mode= @saved_slave_parallel_mode;
|
|
SET @@GLOBAL.replicate_do_db= @saved_replicate_do_db;
|
|
# End of 11.4 tests
|