summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <sasha@asksasha.com>2005-07-28 19:08:01 -0600
committerunknown <sasha@asksasha.com>2005-07-28 19:08:01 -0600
commitfa7ed076d4453b91b6a50160e8a31ecd726550f4 (patch)
tree9a58290a1065303ae7743eb1b69adc7822921171
parent4456ae328d5d9b1cf7077ff1eb7707ebf03472dc (diff)
downloadmariadb-git-fa7ed076d4453b91b6a50160e8a31ecd726550f4.tar.gz
patch for bug 10780
sql/slave.cc: bug 10780 sql/slave.h: bug 10780 mysql-test/r/rpl_slave_status.result: New BitKeeper file ``mysql-test/r/rpl_slave_status.result''
-rw-r--r--mysql-test/r/rpl_slave_status.result23
-rw-r--r--sql/slave.cc5
-rw-r--r--sql/slave.h1
3 files changed, 27 insertions, 2 deletions
diff --git a/mysql-test/r/rpl_slave_status.result b/mysql-test/r/rpl_slave_status.result
new file mode 100644
index 00000000000..4eb2e87d221
--- /dev/null
+++ b/mysql-test/r/rpl_slave_status.result
@@ -0,0 +1,23 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+grant replication slave on *.* to rpl@127.0.0.1 identified by 'rpl';
+stop slave;
+change master to master_user='rpl',master_password='rpl';
+start slave;
+drop table if exists t1;
+create table t1 (n int);
+insert into t1 values (1);
+select * from t1;
+n
+1
+delete from mysql.user where user='rpl';
+flush privileges;
+stop slave;
+start slave;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
+Connecting to master 127.0.0.1 rpl MASTER_MYPORT 1 master-bin.000001 357 slave-relay-bin.000001 401 master-bin.000001 No Yes 0 0 357 401 None 0 No NULL
diff --git a/sql/slave.cc b/sql/slave.cc
index f25ad90487a..286bb07e4c9 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -2186,7 +2186,8 @@ int show_master_info(THD* thd, MASTER_INFO* mi)
&my_charset_bin);
protocol->store((ulonglong) mi->rli.group_relay_log_pos);
protocol->store(mi->rli.group_master_log_name, &my_charset_bin);
- protocol->store(mi->slave_running ? "Yes":"No", &my_charset_bin);
+ protocol->store(mi->slave_running == MYSQL_SLAVE_RUN_CONNECT
+ ? "Yes":"No", &my_charset_bin);
protocol->store(mi->rli.slave_running ? "Yes":"No", &my_charset_bin);
protocol->store(&replicate_do_db);
protocol->store(&replicate_ignore_db);
@@ -3078,7 +3079,7 @@ slave_begin:
pthread_mutex_lock(&LOCK_thread_count);
threads.append(thd);
pthread_mutex_unlock(&LOCK_thread_count);
- mi->slave_running = 1;
+ mi->slave_running = MYSQL_SLAVE_RUN_INIT;
mi->abort_slave = 0;
pthread_mutex_unlock(&mi->run_lock);
pthread_cond_broadcast(&mi->start_cond);
diff --git a/sql/slave.h b/sql/slave.h
index 5a85e26d9ad..6aa61c3a7e4 100644
--- a/sql/slave.h
+++ b/sql/slave.h
@@ -112,6 +112,7 @@ enum enum_binlog_formats {
#define MYSQL_SLAVE_NOT_RUN 0
#define MYSQL_SLAVE_RUN_NOT_CONNECT 1
#define MYSQL_SLAVE_RUN_CONNECT 2
+#define MYSQL_SLAVE_RUN_INIT 3
/****************************************************************************