mirror of
https://github.com/MariaDB/server.git
synced 2025-05-27 01:57:48 +03:00
If server has not been initialized as a slave (by CHANGE MASTER), then SHOW SLAVE STATUS will return an empty set, and caused the waiting for Slave_IO_running or Slave_SQL_running to 'No' fail. This patch fixed the problem by return immediately if slave is not initialized in include/wait_for_slave_*_to_stop.inc. mysql-test/include/wait_for_slave_io_to_stop.inc: Return immediately if slave is not initialized mysql-test/include/wait_for_slave_sql_to_stop.inc: Return immediately if slave is not initialized mysql-test/include/wait_for_slave_to_stop.inc: Return immediately if slave is not initialized
31 lines
899 B
PHP
31 lines
899 B
PHP
# ==== Purpose ====
|
|
#
|
|
# Waits until both the IO and SQL threads of the current connection
|
|
# have stopped, or until a timeout is reached.
|
|
#
|
|
# ==== Usage ====
|
|
#
|
|
# source include/wait_for_slave_to_stop.inc;
|
|
#
|
|
# Parameters to this macro are $slave_timeout and
|
|
# $slave_keep_connection. See wait_for_slave_param.inc for
|
|
# descriptions.
|
|
|
|
# if server has not used CHANGE MASTER to initiate slave, SHOW SLAVE
|
|
# STATUS will return an empty set.
|
|
let $_slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
|
|
if (`SELECT '$_slave_io_running' != 'No such row'`)
|
|
{
|
|
let $slave_error_message= Failed while waiting for slave to stop;
|
|
|
|
let $slave_param= Slave_IO_Running;
|
|
let $slave_param_value= No;
|
|
source include/wait_for_slave_param.inc;
|
|
|
|
let $slave_param= Slave_SQL_Running;
|
|
let $slave_param_value= No;
|
|
source include/wait_for_slave_param.inc;
|
|
|
|
let $slave_error_message= ;
|
|
}
|