1
###################### mysql-test\t\init_slave_basic.test #####################
3
# Variable Name: init_slave #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable init_slave #
15
# that checks the behavior of this variable in the following ways#
17
# * Valid & Invalid values #
18
# * Scope & Access method #
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
22
# server-system-variables.html #
24
###############################################################################
26
--source include/load_sysvars.inc
27
############################################
28
## START OF init_slave TESTS ##
29
############################################
31
#############################################################
32
# Save initial value #
33
#############################################################
34
# save using implicit session scope
35
SET @global_start_value = @@global.init_slave;
36
SELECT @global_start_value AS INIT_VALUE;
38
--echo '#--------------------FN_DYNVARS_037_01------------------#'
39
###############################################################################
40
# Test Variable access and assignment with and without @@ #
41
###############################################################################
43
--error ER_BAD_FIELD_ERROR
45
# access using no scope specified
47
# assign value without @@
48
SET @@global.init_slave='SET autocomit=0';
49
SELECT @@global.init_slave;
50
# using another syntax for accessing session variable
51
SET global init_slave='SET autocomit=0';
52
# accessing variable with scope the wrong way
53
--Error ER_BAD_FIELD_ERROR
54
SELECT global init_slave;
55
--Error ER_PARSE_ERROR
56
SELECT @@global init_slave;
59
--echo '#--------------------FN_DYNVARS_037_02-------------------------#'
60
################################################################
61
# Check the DEFAULT value of init_slave for global #
62
################################################################
63
SET @@global.init_slave = 'SET join_buffer_size=8200';
64
SET @@global.init_slave = DEFAULT;
65
SELECT @@global.init_slave;
67
--echo '#--------------------FN_DYNVARS_037_03-------------------------#'
68
######################################################################
69
# see if it is accessable using session scope #
70
######################################################################
71
--Error ER_GLOBAL_VARIABLE
72
SET @@session.init_slave = '';
73
--Error ER_GLOBAL_VARIABLE
74
SET @@init_slave = "";
75
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
76
SELECT @@session.init_slave;
77
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
78
SELECT @@local.init_slave;
80
--echo '#--------------------FN_DYNVARS_037_04-------------------------#'
81
#######################################################################
82
# Change the value of init_slave to a valid value #
83
#######################################################################
85
SET @@global.init_slave="";
86
SELECT @@global.init_slave;
88
SET @@global.init_slave='SELECT 1,"abc"';
89
SELECT @@global.init_slave;
91
SET @@global.init_slave='SET @a="b"';
92
SELECT @@global.init_slave;
94
SET @@global.init_slave="SET autocomit=1;REVOKE ALL ON INFORMATION_SCHEMA.*";
95
SELECT @@global.init_slave;
97
SET @@global.init_slave='SHOW VARIABLES';
98
SELECT @@global.init_slave;
100
SET @@global.init_slave = NULL;
101
SELECT @@global.init_slave;
103
#any string is accepted as valid value as its is not verified/compiled
105
SET @@global.init_slave='abc 123 +-*/';
106
SELECT @@global.init_slave;
108
SET @@global.init_slave=this_will_give_syntax_error;
109
SELECT @@global.init_slave;
111
SET @@global.init_slave = init_slave;
112
SELECT @@global.init_slave;
114
--echo '#--------------------FN_DYNVARS_037_05-------------------------#'
115
#########################################################################
116
# Change the value of init_slave to an invalid value for global #
117
#########################################################################
119
--Error ER_WRONG_TYPE_FOR_VAR
120
SET @@global.init_slave = true;
121
--Error ER_WRONG_TYPE_FOR_VAR
122
SET @@global.init_slave = false;
123
--Error ER_WRONG_TYPE_FOR_VAR
124
SET @@global.init_slave = 1.1;
125
--Error ER_WRONG_TYPE_FOR_VAR
126
SET @@global.init_slave = 0;
127
--Error ER_WRONG_TYPE_FOR_VAR
128
SET @@global.init_slave = 1;
129
--Error ER_WRONG_TYPE_FOR_VAR
130
SET @@global.init_slave = -1;
132
SET @@global.init_slave = ON;
133
SELECT @@global.init_slave;
136
--echo '#--------------------FN_DYNVARS_037_06-------------------------#'
137
##############################################################################
138
# Check if the value in GLOBAL Table matches value in variable #
139
##############################################################################
141
SELECT @@global.init_slave = (SELECT VARIABLE_VALUE
142
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
143
WHERE VARIABLE_NAME='init_slave') AS res;
145
####################################
146
# Restore initial value #
147
####################################
148
SET @@global.init_slave = @global_start_value;
149
SELECT @@global.init_slave;
151
###################################################
152
# END OF init_slave TESTS #
153
###################################################