summaryrefslogtreecommitdiff
path: root/sql/sql_repl.cc
diff options
context:
space:
mode:
authorAlfranio Correia <alfranio.correia@oracle.com>2011-07-18 18:18:03 +0100
committerAlfranio Correia <alfranio.correia@oracle.com>2011-07-18 18:18:03 +0100
commite94de17f951582de66e6dad29b1304506daf4305 (patch)
tree045e03de93e7d0ce497903a3edb125a6b87f45d4 /sql/sql_repl.cc
parent25df755040116e3bc95c3d21cbabf0bbe309aa00 (diff)
downloadmariadb-git-e94de17f951582de66e6dad29b1304506daf4305.tar.gz
BUG#11809016 - NO WAY TO DISCOVER AN INSTANCE IS NO LONGER A SLAVE FOLLOWING MYSQL BUG#28796
Before BUG#28796, an empty host was used to identify that an instance was no longer a slave. However, BUG#28796 changed this behavior and one cannot set an empty host. Besides, a RESET SLAVE only cleans up information on the next event to retrieve from the master, disables ssl and resets heartbeat period. So a call to SHOW SLAVE STATUS after issuing a RESET SLAVE still returns some valid information, such as host, port, user and password. To fix this problem, we have introduced the command RESET SLAVE ALL that does what a regular RESET SLAVE does and also clears host, port, user and password information thus allowing users to identify when an instance is no longer a slave.
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r--sql/sql_repl.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 001c4cec678..8653607263f 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -1285,8 +1285,9 @@ int reset_slave(THD *thd, Master_info* mi)
goto err;
}
- /* Clear master's log coordinates */
- init_master_log_pos(mi);
+ /* Clear master's log coordinates and associated information */
+ mi->clear_in_memory_info(thd->lex->reset_slave_info.all);
+
/*
Reset errors (the idea is that we forget about the
old master).