summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test
diff options
context:
space:
mode:
authorDavi Arnaut <davi@twitter.com>2012-03-19 15:00:23 -0700
committerunknown <knielsen@knielsen-hq.org>2012-03-19 15:00:23 -0700
commit9584cbe7fcc4ea98598087848f96c5e28c15d1d8 (patch)
tree57c734af5b99a03e1bdc8fb02ac4de1e7a72fc02 /mysql-test/suite/sys_vars/t/replicate_do_table_basic.test
parent7789f3d56738c581d8e805650f83b626381075ea (diff)
downloadmariadb-git-9584cbe7fcc4ea98598087848f96c5e28c15d1d8.tar.gz
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.
Diffstat (limited to 'mysql-test/suite/sys_vars/t/replicate_do_table_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/replicate_do_table_basic.test48
1 files changed, 48 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test b/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test
new file mode 100644
index 00000000000..f3b1585613e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test
@@ -0,0 +1,48 @@
+--source include/not_embedded.inc
+
+--echo #
+--echo # Basic testing of replicate_do_table.
+--echo #
+
+SET @save_replicate_do_table = @@GLOBAL.replicate_do_table;
+SELECT @save_replicate_do_table;
+
+--echo # Scope.
+
+--error ER_GLOBAL_VARIABLE
+SET @@SESSION.replicate_do_table = "";
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.replicate_do_table;
+
+--echo # Incorrect type.
+
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@GLOBAL.replicate_do_table=1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@GLOBAL.replicate_do_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET @@GLOBAL.replicate_do_table=1e1;
+
+--echo # Incorrect arguments.
+
+--error ER_WRONG_ARGUMENTS
+SET @@GLOBAL.replicate_do_table="t1";
+--error ER_WRONG_ARGUMENTS
+SET @@GLOBAL.replicate_do_table="test.t1, t2";
+--error ER_WRONG_ARGUMENTS
+SET @@GLOBAL.replicate_do_table="test.,t1";
+
+--echo # Argument syntax.
+
+SET @@GLOBAL.replicate_do_table="test.t1,,,,,test.t3";
+SELECT @@GLOBAL.replicate_do_table;
+SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table';
+
+SET @@GLOBAL.replicate_do_table="test.t1,,,test2.t2,,,test.t3";
+SELECT @@GLOBAL.replicate_do_table;
+
+SET @@GLOBAL.replicate_do_table="";
+SELECT @@GLOBAL.replicate_do_table;
+
+--echo # Cleanup.
+SET @@GLOBAL.replicate_do_table = @save_replicate_do_table;