1 ############## mysql-test\t\myisam_sort_buffer_size_basic.test ###############
3 # Variable Name: myisam_sort_buffer_size #
4 # Scope: GLOBAL | SESSION #
5 # Access Type: Dynamic #
11 # Creation Date: 2008-02-07 #
14 # Description: Test Cases of Dynamic System Variable myisam_sort_buffer_size #
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
28 ########################################################################
29 # START OF myisam_sort_buffer_size TESTS #
30 ########################################################################
33 #############################################################
34 # Save initial value #
35 #############################################################
37 SET @start_global_value = @@global.myisam_sort_buffer_size ;
38 SELECT @start_global_value;
39 SET @start_session_value = @@session.myisam_sort_buffer_size ;
40 SELECT @start_session_value;
43 --echo
'#--------------------FN_DYNVARS_005_01-------------------------#'
44 ########################################################################
45 # Display the DEFAULT value of myisam_block_size #
46 ########################################################################
48 SET @@global.myisam_sort_buffer_size = 100;
49 SET @@global.myisam_sort_buffer_size = DEFAULT;
50 SELECT @@global.myisam_sort_buffer_size ;
52 SET @@session.myisam_sort_buffer_size = 200;
53 SET @@session.myisam_sort_buffer_size = DEFAULT;
54 SELECT @@session.myisam_sort_buffer_size ;
57 --echo
'#--------------------FN_DYNVARS_005_02-------------------------#'
58 ########################################################################
59 # Check the DEFAULT value of myisam_sort_buffer_size #
60 ########################################################################
62 SET @@global.myisam_sort_buffer_size = DEFAULT;
63 SELECT @@global.myisam_sort_buffer_size = 8388608;
65 SET @@session.myisam_sort_buffer_size = DEFAULT;
66 SELECT @@session.myisam_sort_buffer_size = 8388608;
69 --echo
'#--------------------FN_DYNVARS_005_03-------------------------#'
70 ##################################################################################
71 # Change the value of myisam_sort_buffer_size to a valid value for GLOBAL Scope #
72 ##################################################################################
74 SET @@global.myisam_sort_buffer_size = 4;
75 SELECT @@global.myisam_sort_buffer_size ;
77 SET @@global.myisam_sort_buffer_size = 4294967295;
78 SELECT @@global.myisam_sort_buffer_size ;
80 SET @@global.myisam_sort_buffer_size = 655354;
81 SELECT @@global.myisam_sort_buffer_size ;
84 --echo
'#--------------------FN_DYNVARS_005_04-------------------------#'
85 ###################################################################################
86 # Change the value of myisam_sort_buffer_size to a valid value for SESSION Scope #
87 ###################################################################################
89 SET @@session.myisam_sort_buffer_size = 4;
90 SELECT @@session.myisam_sort_buffer_size ;
92 SET @@session.myisam_sort_buffer_size = 4294967295;
93 SELECT @@session.myisam_sort_buffer_size ;
95 SET @@session.myisam_sort_buffer_size = 655345;
96 SELECT @@session.myisam_sort_buffer_size ;
101 --echo
'#------------------FN_DYNVARS_005_05-----------------------#'
102 ####################################################################
103 # Change the value of myisam_sort_buffer_size to an invalid value #
104 ####################################################################
106 SET @@global.myisam_sort_buffer_size = 0;
107 SELECT @@global.myisam_sort_buffer_size ;
109 SET @@global.myisam_sort_buffer_size = -1024;
110 SELECT @@global.myisam_sort_buffer_size ;
112 SET @@global.myisam_sort_buffer_size = 429496729533;
113 SELECT @@global.myisam_sort_buffer_size ;
116 --Error ER_WRONG_TYPE_FOR_VAR
117 SET @@global.myisam_sort_buffer_size = 65530.34;
118 SELECT @@global.myisam_sort_buffer_size ;
120 --Error ER_WRONG_TYPE_FOR_VAR
121 SET @@global.myisam_sort_buffer_size =
test;
122 SELECT @@global.myisam_sort_buffer_size ;
124 --Error ER_WRONG_TYPE_FOR_VAR
125 SET @@global.myisam_sort_buffer_size =
"test";
126 SELECT @@global.myisam_sort_buffer_size ;
128 --Error ER_WRONG_TYPE_FOR_VAR
129 SET @@global.myisam_sort_buffer_size =
'test';
130 SELECT @@global.myisam_sort_buffer_size ;
132 --Error ER_WRONG_TYPE_FOR_VAR
133 SET @@global.myisam_sort_buffer_size = ON;
134 SELECT @@global.myisam_sort_buffer_size ;
137 SET @@session.myisam_sort_buffer_size = 0;
138 SELECT @@session.myisam_sort_buffer_size ;
140 SET @@session.myisam_sort_buffer_size = -2;
141 SELECT @@session.myisam_sort_buffer_size ;
143 --Error ER_WRONG_TYPE_FOR_VAR
144 SET @@session.myisam_sort_buffer_size = 65530.34;
145 SELECT @@session.myisam_sort_buffer_size ;
148 --Error ER_WRONG_TYPE_FOR_VAR
149 SET @@session.myisam_sort_buffer_size =
test;
150 SELECT @@session.myisam_sort_buffer_size ;
152 --Error ER_WRONG_TYPE_FOR_VAR
153 SET @@session.myisam_sort_buffer_size =
"test";
154 SELECT @@session.myisam_sort_buffer_size ;
157 --echo
'#------------------FN_DYNVARS_005_06-----------------------#'
158 ####################################################################
159 # Check if the value in GLOBAL Table matches value in variable #
160 ####################################################################
163 SELECT @@global.myisam_sort_buffer_size = VARIABLE_VALUE
164 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
165 WHERE VARIABLE_NAME=
'myisam_sort_buffer_size ';
167 --echo
'#------------------FN_DYNVARS_005_07-----------------------#'
168 ####################################################################
169 # Check if the value in SESSION Table matches value in variable #
170 ####################################################################
172 SELECT @@session.myisam_sort_buffer_size = VARIABLE_VALUE
173 FROM INFORMATION_SCHEMA.SESSION_VARIABLES
174 WHERE VARIABLE_NAME=
'myisam_sort_buffer_size ';
177 --echo
'#------------------FN_DYNVARS_005_08-----------------------#'
178 ####################################################################
179 # Check if TRUE and FALSE values can be used on variable #
180 ####################################################################
182 SET @@global.myisam_sort_buffer_size = TRUE;
183 SELECT @@global.myisam_sort_buffer_size ;
184 SET @@global.myisam_sort_buffer_size = FALSE;
185 SELECT @@global.myisam_sort_buffer_size ;
189 --echo
'#---------------------FN_DYNVARS_001_09----------------------#'
190 ####################################################################################
191 # Check if accessing variable with and without GLOBAL point to same variable #
192 ####################################################################################
194 SET @@global.myisam_sort_buffer_size = 10;
195 SELECT @@myisam_sort_buffer_size = @@global.myisam_sort_buffer_size ;
198 --echo
'#---------------------FN_DYNVARS_001_10----------------------#'
199 ########################################################################################################
200 # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
201 ########################################################################################################
203 SET @@myisam_sort_buffer_size = 100;
204 SELECT @@myisam_sort_buffer_size = @@local.myisam_sort_buffer_size ;
205 SELECT @@local.myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ;
208 --echo
'#---------------------FN_DYNVARS_001_11----------------------#'
209 ###################################################################################
210 # Check if myisam_sort_buffer_size can be accessed with and without @@ sign #
211 ###################################################################################
213 SET myisam_sort_buffer_size = 1;
214 SELECT @@myisam_sort_buffer_size ;
215 --Error ER_UNKNOWN_TABLE
217 SELECT local.myisam_sort_buffer_size ;
219 --Error ER_UNKNOWN_TABLE
220 SELECT session.myisam_sort_buffer_size ;
222 --Error ER_BAD_FIELD_ERROR
223 SELECT myisam_sort_buffer_size = @@session.myisam_sort_buffer_size ;
226 ####################################
227 # Restore initial value #
228 ####################################
230 SET @@global.myisam_sort_buffer_size = @start_global_value;
231 SELECT @@global.myisam_sort_buffer_size ;
232 SET @@session.myisam_sort_buffer_size = @start_session_value;
233 SELECT @@session.myisam_sort_buffer_size ;
236 #############################################################
237 # END OF myisam_sort_buffer_size TESTS #
238 #############################################################