mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Make Replication filter settings dynamic.
Make the slave options --replicate-* dynamic variables so that these options can be changed dynamically while the server is running, which enables users to modify replication filtering rules without having to stop and restart the server. This is accomplished by just requiring that the slave threads are stopped when these options are set dynamically. Since filtering rules are only used by the SQL slave thread, setting them while the thread is not running avoids the need for locking.
This commit is contained in:
44
mysql-test/suite/sys_vars/r/replicate_do_table_basic.result
Normal file
44
mysql-test/suite/sys_vars/r/replicate_do_table_basic.result
Normal file
@ -0,0 +1,44 @@
|
||||
#
|
||||
# Basic testing of replicate_do_table.
|
||||
#
|
||||
SET @save_replicate_do_table = @@GLOBAL.replicate_do_table;
|
||||
SELECT @save_replicate_do_table;
|
||||
@save_replicate_do_table
|
||||
|
||||
# Scope.
|
||||
SET @@SESSION.replicate_do_table = "";
|
||||
ERROR HY000: Variable 'replicate_do_table' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@SESSION.replicate_do_table;
|
||||
ERROR HY000: Variable 'replicate_do_table' is a GLOBAL variable
|
||||
# Incorrect type.
|
||||
SET @@GLOBAL.replicate_do_table=1;
|
||||
ERROR 42000: Incorrect argument type to variable 'replicate_do_table'
|
||||
SET @@GLOBAL.replicate_do_table=1.1;
|
||||
ERROR 42000: Incorrect argument type to variable 'replicate_do_table'
|
||||
SET @@GLOBAL.replicate_do_table=1e1;
|
||||
ERROR 42000: Incorrect argument type to variable 'replicate_do_table'
|
||||
# Incorrect arguments.
|
||||
SET @@GLOBAL.replicate_do_table="t1";
|
||||
ERROR HY000: Incorrect arguments to SET
|
||||
SET @@GLOBAL.replicate_do_table="test.t1, t2";
|
||||
ERROR HY000: Incorrect arguments to SET
|
||||
SET @@GLOBAL.replicate_do_table="test.,t1";
|
||||
ERROR HY000: Incorrect arguments to SET
|
||||
# Argument syntax.
|
||||
SET @@GLOBAL.replicate_do_table="test.t1,,,,,test.t3";
|
||||
SELECT @@GLOBAL.replicate_do_table;
|
||||
@@GLOBAL.replicate_do_table
|
||||
test.t3,test.t1
|
||||
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
REPLICATE_DO_TABLE test.t3,test.t1
|
||||
SET @@GLOBAL.replicate_do_table="test.t1,,,test2.t2,,,test.t3";
|
||||
SELECT @@GLOBAL.replicate_do_table;
|
||||
@@GLOBAL.replicate_do_table
|
||||
test.t3,test.t1,test2.t2
|
||||
SET @@GLOBAL.replicate_do_table="";
|
||||
SELECT @@GLOBAL.replicate_do_table;
|
||||
@@GLOBAL.replicate_do_table
|
||||
|
||||
# Cleanup.
|
||||
SET @@GLOBAL.replicate_do_table = @save_replicate_do_table;
|
Reference in New Issue
Block a user