1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
mariadb/mysql-test/suite/multi_source/sys_vars_default_master.result
iff-sal 45d582be8c MDEV-40297: SET changes @@default_master_connection's system variable if the explicit connection name is blank
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>
2026-10-20 13:40:51 +03:00

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