Spracherkennung für: .test vermutete Sprache: SQL {SQL[84] VDM[84] VHDL[72]} [Methode: maximale Elemente, drei Dimensionen]
###############################################################################
# #
# Variable Name: init_slave #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: string #
#
Default Value: #
# Range: #
# #
# #
# Creation Date:
2008-
03-
08 #
# Author: Rizwan #
# Modified: HHunger
2008-
09-
29 Fixed the bug
by inserting the usual wait
and #
#
SQL-Satements
to control master
and slave, #
# deleted the sleep
and made improvements
like: #
# - Replaced the opt file
by dynamic variables, #
# - Made the tests independent of the initial #
#
values of the global variables, #
# - Reduced the test
to the needed test
case to #
# save run time, #
# - Beautification. #
# #
# Description: Test Cases of Dynamic System Variable init_slave #
# that checks the behavior of this variable #
# #
# Reference: #
#
http://dev.mysql.com/doc/refman/5.
1/en/server-system-variables.html #
# #
###############################################################################
source include/master-slave.inc;
# Since a part of slave
SQL thread initialisation happens after Slave_SQL_Running
# has been
set to Yes, there
is a race
condition between initialisation above
and
# init_slave setting given below. Synchronise slave applier
with master
to ensure
# init_slave
is complete
and applier had processed few events
like FD.
--source include/sync_slave_sql_with_master.inc
--disable_query_log
call mtr.add_suppression(
"Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
#
# save the current
values
SET @start_max_connections= @@global.max_connections;
SET @start_init_slave= @@global.init_slave;
# setting of a global value
with an effect
on the next start of the slave server
#
check that @@global.init_slave could be
set
SET NAMES utf8;
let $my_init_slave=
'SET @@global.max_connections = @@global.max_connections + 1 -- комментарий';
eval
SET @@global.init_slave = $my_init_slave;
#
show the data type of the variable
--disable_warnings
DROP TABLE IF EXISTS t1;
CREATE TEMPORARY
TABLE t1
AS SELECT @@global.init_slave
AS my_column;
--enable_warnings
DESCRIBE t1;
select length(my_column)
from t1;
DROP TABLE t1;
#
#
check that the new setting of @@global.init_slave becomes immediately visible
eval
SELECT @@global.init_slave = $my_init_slave;
--echo Expect 1
# wait
for the slave threads have
set the global variable.
let $wait_timeout=
90;
let $wait_condition=
SELECT @@global.max_connections = @start_max_connections;
--source include/wait_condition_sp.inc
#
check that the action
in init_slave does
not happen immediately
--let $assert_text= @@global.max_connections = @start_max_connections
--let $assert_cond= @@global.max_connections = @start_max_connections
--source include/assert.inc
--source include/restart_slave_sql.inc
# Upon slave start, sync the applier
with master,
to ensure slave has
# completed init_slave command execution
and processed FD event
from the
# master.
--connection master
--source include/sync_slave_sql_with_master.inc
#
# wait
for the slave threads have
set the global variable.
let $wait_timeout=
90;
let $wait_condition=
SELECT @@global.max_connections = @start_max_connections +
1;
--source include/wait_condition_sp.inc
#
check that the action
in init_slave was executed
and had the intended effect
--let $assert_text= @@global.max_connections = @start_max_connections + 1
--let $assert_cond= @@global.max_connections = @start_max_connections + 1
--source include/assert.inc
#
# Setting a variable(which
is local
to a session)
and must
not be visible
SET @@global.init_slave =
"SET @a=5";
#
--source include/restart_slave_sql.inc
#
SHOW VARIABLES
LIKE 'init_slave';
# expect
NULL
SELECT @a;
--echo Expect NULL
#
# Clean up
SET @@global.max_connections= @start_max_connections;
SET @@global.init_slave= @start_init_slave;
##################################################
# End of functionality Testing
for init_slave #
##################################################
--source include/rpl_end.inc