summaryrefslogtreecommitdiff
path: root/mysql-test/t
diff options
context:
space:
mode:
authorunknown <hezx@mail.hezx.com>2007-12-21 11:02:48 +0800
committerunknown <hezx@mail.hezx.com>2007-12-21 11:02:48 +0800
commit25d238decb612b08ef41dabe7e80088aa2812617 (patch)
tree1e57dba650d9aa0d0f222ce254de4aee242d5aba /mysql-test/t
parentf53f0455989fb1fe7b65e0888bc5ae1b7900d72b (diff)
downloadmariadb-git-25d238decb612b08ef41dabe7e80088aa2812617.tar.gz
BUG#28908 Replication: set global server_id is not setting the session server_id
When set the server-id dynamically, the server_id member of current thread is not updated. Update the server_id member of current thread after updated the global variable value. sql/set_var.cc: Update server_id of current thread mysql-test/r/rpl_server_id.result: Add test for BUG#28908 mysql-test/t/rpl_server_id.test: Add test for BUG#28908
Diffstat (limited to 'mysql-test/t')
-rw-r--r--mysql-test/t/rpl_server_id.test29
1 files changed, 29 insertions, 0 deletions
diff --git a/mysql-test/t/rpl_server_id.test b/mysql-test/t/rpl_server_id.test
new file mode 100644
index 00000000000..6e98ec6ee6d
--- /dev/null
+++ b/mysql-test/t/rpl_server_id.test
@@ -0,0 +1,29 @@
+# Test for BUG#28908 Replication: set global server_id is not setting the session server_id
+
+-- source include/have_log_bin.inc
+
+let $saved_server_id=`select @@server_id`;
+set global server_id=1;
+reset master;
+
+-- disable_warnings
+drop table if exists t1,t2,t3;
+-- enable_warnings
+
+create table t1 (a int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+set global server_id=2;
+create table t2 (b int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+set global server_id=3;
+create table t3 (c int);
+select @@server_id;
+source include/show_binlog_events2.inc;
+
+# cleanup
+eval set global server_id=$saved_server_id;
+drop table t1,t2,t3;