1
############## mysql-test\t\innodb_fast_shutdown_basic.test ###################
3
# Variable Name: innodb_fast_shutdown #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-20 #
12
# Author: Sharique Abdullah #
14
# Description: Test Cases of Dynamic System Variable innodb_fast_shutdown #
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/have_innodb.inc
27
--source include/load_sysvars.inc
29
########################################################################
30
# START OF innodb_fast_shutdown TESTS #
31
########################################################################
34
##############################################################################
35
# Saving initial value of innodb_fast_shutdown in a temporary variable #
36
##############################################################################
40
SET @global_start_value = @@global.innodb_fast_shutdown;
41
SELECT @@global.innodb_fast_shutdown;
44
--echo '#--------------------FN_DYNVARS_042_01------------------------#'
45
########################################################################
46
# Display the DEFAULT value of innodb_fast_shutdown #
47
########################################################################
49
SET @@global.innodb_fast_shutdown = 0;
50
SET @@global.innodb_fast_shutdown = DEFAULT;
51
SELECT @@global.innodb_fast_shutdown;
55
--echo '#---------------------FN_DYNVARS_042_02-------------------------#'
56
#############################################################################
57
# Check if innodb_fast_shutdown can be accessed with and without @@ sign #
58
#############################################################################
61
--ERROR ER_GLOBAL_VARIABLE
62
SET innodb_fast_shutdown = 1;
63
SELECT @@innodb_fast_shutdown;
65
--Error ER_UNKNOWN_TABLE
66
SELECT global.innodb_fast_shutdown;
68
SET global innodb_fast_shutdown = 1;
69
SELECT @@global.innodb_fast_shutdown;
72
--echo '#--------------------FN_DYNVARS_042_03------------------------#'
73
########################################################################
74
# Change the value of innodb_fast_shutdown to a valid value #
75
########################################################################
77
SET @@global.innodb_fast_shutdown = 0;
78
SELECT @@global.innodb_fast_shutdown;
80
SET @@global.innodb_fast_shutdown = 1;
81
SELECT @@global.innodb_fast_shutdown;
82
## a value of 2 is used to just flush logs and then shutdown cold. Not supported on Netware
84
SET @@global.innodb_fast_shutdown = 2;
85
SELECT @@global.innodb_fast_shutdown;
87
--echo '#--------------------FN_DYNVARS_042_04-------------------------#'
88
###########################################################################
89
# Change the value of innodb_fast_shutdown to invalid value #
90
###########################################################################
93
SET @@global.innodb_fast_shutdown = -1;
94
SELECT @@global.innodb_fast_shutdown;
95
--Error ER_WRONG_TYPE_FOR_VAR
96
SET @@global.innodb_fast_shutdown = TRU;
97
SELECT @@global.innodb_fast_shutdown;
98
--Error ER_WRONG_TYPE_FOR_VAR
99
SET @@global.innodb_fast_shutdown = TRUE_F;
100
SELECT @@global.innodb_fast_shutdown;
101
--Error ER_WRONG_TYPE_FOR_VAR
102
SET @@global.innodb_fast_shutdown = FALS;
103
SELECT @@global.innodb_fast_shutdown;
104
--Error ER_WRONG_TYPE_FOR_VAR
105
SET @@global.innodb_fast_shutdown = OON;
106
SELECT @@global.innodb_fast_shutdown;
107
--Error ER_WRONG_TYPE_FOR_VAR
108
SET @@global.innodb_fast_shutdown = ONN;
109
SELECT @@global.innodb_fast_shutdown;
110
--Error ER_WRONG_TYPE_FOR_VAR
111
SET @@global.innodb_fast_shutdown = OOFF;
112
SELECT @@global.innodb_fast_shutdown;
113
--Error ER_WRONG_TYPE_FOR_VAR
114
SET @@global.innodb_fast_shutdown = 0FF;
115
SELECT @@global.innodb_fast_shutdown;
116
--Error ER_WRONG_TYPE_FOR_VAR
117
SET @@global.innodb_fast_shutdown = '1';
118
SELECT @@global.innodb_fast_shutdown;
119
--Error ER_WRONG_TYPE_FOR_VAR
120
SET @@global.innodb_fast_shutdown = "0";
121
SELECT @@global.innodb_fast_shutdown;
125
--echo '#-------------------FN_DYNVARS_042_05----------------------------#'
126
###########################################################################
127
# Test if accessing session innodb_fast_shutdown gives error #
128
###########################################################################
130
--Error ER_GLOBAL_VARIABLE
131
SET @@session.innodb_fast_shutdown = 0;
133
--Error ER_GLOBAL_VARIABLE
134
SET @@innodb_fast_shutdown = 0;
135
--Error ER_GLOBAL_VARIABLE
136
SET @@local.innodb_fast_shutdown = 0;
140
--echo '#----------------------FN_DYNVARS_042_06------------------------#'
141
#########################################################################
142
# Check if the value in SESSION Table contains variable value #
143
#########################################################################
145
SELECT count(VARIABLE_VALUE) AS res_is_0
146
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
147
WHERE VARIABLE_NAME='innodb_fast_shutdown';
150
--echo '#----------------------FN_DYNVARS_042_07------------------------#'
151
#########################################################################
152
# Check if the value in GLOBAL Table matches value in variable #
153
#########################################################################
155
SELECT @@global.innodb_fast_shutdown =
156
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
157
WHERE VARIABLE_NAME='innodb_fast_shutdown';
160
--echo '#---------------------FN_DYNVARS_042_08-------------------------#'
161
###################################################################
162
# Check if ON and OFF values can be used on variable #
163
###################################################################
166
--Error ER_WRONG_TYPE_FOR_VAR
167
SET @@global.innodb_fast_shutdown = OFF;
168
SELECT @@global.innodb_fast_shutdown;
170
--Error ER_WRONG_TYPE_FOR_VAR
171
SET @@global.innodb_fast_shutdown = ON;
172
SELECT @@global.innodb_fast_shutdown;
174
--echo '#---------------------FN_DYNVARS_042_09----------------------#'
175
###################################################################
176
# Check if TRUE and FALSE values can be used on variable #
177
###################################################################
179
SET @@global.innodb_fast_shutdown = TRUE;
180
SELECT @@global.innodb_fast_shutdown;
181
SET @@global.innodb_fast_shutdown = FALSE;
182
SELECT @@global.innodb_fast_shutdown;
184
##############################
185
# Restore initial value #
186
##############################
188
#SET @@innodb_fast_shutdown = @global_start_value;
189
#SELECT @@innodb_fast_shutdown;
191
########################################################################
192
# END OF innodb_fast_shutdown TESTS #
193
########################################################################