~maria-captains/maria/5.5-davi

« back to all changes in this revision

Viewing changes to mysql-test/suite/sys_vars/t/replicate_wild_ignore_table_basic.test

  • Committer: Davi Arnaut
  • Date: 2012-03-19 22:00:23 UTC
  • Revision ID: davi@twitter.com-20120319220023-77a84i1t1n18pzt7
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.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--source include/not_embedded.inc
 
2
 
 
3
--echo #
 
4
--echo # Basic testing of replicate_wild_ignore_table.
 
5
--echo #
 
6
 
 
7
SET @save_replicate_wild_ignore_table = @@GLOBAL.replicate_wild_ignore_table;
 
8
SELECT @save_replicate_wild_ignore_table;
 
9
 
 
10
--echo # Scope.
 
11
 
 
12
--error ER_GLOBAL_VARIABLE
 
13
SET @@SESSION.replicate_wild_ignore_table = "";
 
14
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
 
15
SELECT @@SESSION.replicate_wild_ignore_table;
 
16
 
 
17
--echo # Incorrect type.
 
18
 
 
19
--error ER_WRONG_TYPE_FOR_VAR
 
20
SET @@GLOBAL.replicate_wild_ignore_table=1;
 
21
--error ER_WRONG_TYPE_FOR_VAR
 
22
SET @@GLOBAL.replicate_wild_ignore_table=1.1;
 
23
--error ER_WRONG_TYPE_FOR_VAR
 
24
SET @@GLOBAL.replicate_wild_ignore_table=1e1;
 
25
 
 
26
--echo # Incorrect arguments.
 
27
 
 
28
--error ER_WRONG_ARGUMENTS
 
29
SET @@GLOBAL.replicate_wild_ignore_table="t1";
 
30
--error ER_WRONG_ARGUMENTS
 
31
SET @@GLOBAL.replicate_wild_ignore_table="test.t, t2";
 
32
--error ER_WRONG_ARGUMENTS
 
33
SET @@GLOBAL.replicate_wild_ignore_table="test.,t1";
 
34
 
 
35
--echo # Argument syntax.
 
36
 
 
37
SET @@GLOBAL.replicate_wild_ignore_table="test.%,,,,,test.t3";
 
38
SELECT @@GLOBAL.replicate_wild_ignore_table;
 
39
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_ignore_table';
 
40
 
 
41
SET @@GLOBAL.replicate_wild_ignore_table="test.t1,,,test2.%,,,test.t3";
 
42
SELECT @@GLOBAL.replicate_wild_ignore_table;
 
43
 
 
44
SET @@GLOBAL.replicate_wild_ignore_table="";
 
45
SELECT @@GLOBAL.replicate_wild_ignore_table;
 
46
 
 
47
--echo # Cleanup.
 
48
SET @@GLOBAL.replicate_wild_ignore_table = @save_replicate_wild_ignore_table;