1
############## mysql-test\t\read_buffer_size_basic.test ###############
3
# Variable Name: read_buffer_size #
4
# Scope: GLOBAL | SESSION #
5
# Access Type: Dynamic #
7
# Default Value: 131072 #
8
# Range: 8200-2147479552 #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable read_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 read_buffer_size TESTS #
30
######################################################################
33
#############################################################
34
# Save initial value #
35
#############################################################
37
SET @start_global_value = @@global.read_buffer_size;
38
SELECT @start_global_value;
39
SET @start_session_value = @@session.read_buffer_size;
40
SELECT @start_session_value;
43
--echo '#--------------------FN_DYNVARS_138_01-------------------------#'
44
######################################################################
45
# Display the DEFAULT value of read_buffer_size #
46
######################################################################
48
SET @@global.read_buffer_size = 1000;
49
SET @@global.read_buffer_size = DEFAULT;
50
SELECT @@global.read_buffer_size;
52
SET @@session.read_buffer_size = 2000;
53
SET @@session.read_buffer_size = DEFAULT;
54
SELECT @@session.read_buffer_size;
57
--echo '#--------------------FN_DYNVARS_138_02-------------------------#'
58
######################################################################
59
# Check the DEFAULT value of read_buffer_size #
60
######################################################################
62
SET @@global.read_buffer_size = DEFAULT;
63
SELECT @@global.read_buffer_size = 131072;
65
SET @@session.read_buffer_size = DEFAULT;
66
SELECT @@session.read_buffer_size = 131072;
69
--echo '#--------------------FN_DYNVARS_138_03-------------------------#'
70
################################################################################
71
# Change the value of read_buffer_size to a valid value for GLOBAL Scope #
72
################################################################################
74
SET @@global.read_buffer_size = 8201;
75
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
76
SET @@global.read_buffer_size = 8200;
77
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
78
SET @@global.read_buffer_size = 2147479552;
79
SELECT @@global.read_buffer_size;
80
SET @@global.read_buffer_size = 2147479551;
81
SELECT @@global.read_buffer_size;
83
--echo '#--------------------FN_DYNVARS_138_04-------------------------#'
84
###################################################################################
85
# Change the value of read_buffer_size to a valid value for SESSION Scope #
86
###################################################################################
88
SET @@session.read_buffer_size = 8200;
89
SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ;
90
SET @@session.read_buffer_size = 8201;
91
SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ;
92
SET @@session.read_buffer_size = 2147479552;
93
SELECT @@session.read_buffer_size;
94
SET @@session.read_buffer_size = 2147479551;
95
SELECT @@session.read_buffer_size;
98
--echo '#------------------FN_DYNVARS_138_05-----------------------#'
99
##################################################################
100
# Change the value of read_buffer_size to an invalid value #
101
##################################################################
103
SET @@global.read_buffer_size = 8199;
104
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
105
SET @@global.read_buffer_size = -1024;
106
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
107
SET @@global.read_buffer_size = 2147479553;
108
SELECT @@global.read_buffer_size;
109
--Error ER_PARSE_ERROR
110
SET @@global.read_buffer_size = 65530.34.;
111
SELECT @@global.read_buffer_size;
112
--Error ER_WRONG_TYPE_FOR_VAR
113
SET @@global.read_buffer_size = test;
114
SELECT @@global.read_buffer_size;
116
SET @@session.read_buffer_size = 8199;
117
SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ;
118
SET @@session.read_buffer_size = -2;
119
SELECT @@session.read_buffer_size= 8200 OR @@session.read_buffer_size= 8228 ;
120
--Error ER_PARSE_ERROR
121
SET @@session.read_buffer_size = 65530.34.;
122
SET @@session.read_buffer_size = 2147479553;
123
SELECT @@session.read_buffer_size;
124
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
126
--Error ER_WRONG_TYPE_FOR_VAR
127
SET @@session.read_buffer_size = test;
128
SELECT @@session.read_buffer_size;
131
--echo '#------------------FN_DYNVARS_138_06-----------------------#'
132
####################################################################
133
# Check if the value in GLOBAL Table matches value in variable #
134
####################################################################
137
SELECT @@global.read_buffer_size = VARIABLE_VALUE
138
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
139
WHERE VARIABLE_NAME='read_buffer_size';
141
--echo '#------------------FN_DYNVARS_138_07-----------------------#'
142
####################################################################
143
# Check if the value in SESSION Table matches value in variable #
144
####################################################################
146
SELECT @@session.read_buffer_size = VARIABLE_VALUE
147
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
148
WHERE VARIABLE_NAME='read_buffer_size';
151
--echo '#------------------FN_DYNVARS_138_08-----------------------#'
152
####################################################################
153
# Check if TRUE and FALSE values can be used on variable #
154
####################################################################
156
SET @@global.read_buffer_size = TRUE;
157
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
158
SET @@global.read_buffer_size = FALSE;
159
SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
160
echo 'Bug: FN_DYNVARS_138_08- Errors are not coming on assigning TRUE/FALSE to variable';
163
--echo '#---------------------FN_DYNVARS_138_09----------------------#'
164
####################################################################################
165
# Check if accessing variable with and without GLOBAL point to same variable #
166
####################################################################################
168
SET @@global.read_buffer_size = 9000;
169
SELECT @@read_buffer_size = @@global.read_buffer_size;
172
--echo '#---------------------FN_DYNVARS_138_10----------------------#'
173
########################################################################################################
174
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
175
########################################################################################################
177
SET @@read_buffer_size = 9000;
178
SELECT @@read_buffer_size = @@local.read_buffer_size;
179
SELECT @@local.read_buffer_size = @@session.read_buffer_size;
182
--echo '#---------------------FN_DYNVARS_138_11----------------------#'
183
###################################################################################
184
# Check if read_buffer_size can be accessed with and without @@ sign #
185
###################################################################################
187
SET read_buffer_size = 9100;
188
SELECT @@read_buffer_size= 8200 OR @@read_buffer_size= 8228 ;
189
--Error ER_UNKNOWN_TABLE
190
SELECT local.read_buffer_size;
191
--Error ER_UNKNOWN_TABLE
192
SELECT session.read_buffer_size;
193
--Error ER_BAD_FIELD_ERROR
194
SELECT read_buffer_size = @@session.read_buffer_size;
197
####################################
198
# Restore initial value #
199
####################################
201
SET @@global.read_buffer_size = @start_global_value;
202
SELECT @@global.read_buffer_size;
203
SET @@session.read_buffer_size = @start_session_value;
204
SELECT @@session.read_buffer_size;
207
#############################################################
208
# END OF read_buffer_size TESTS #
209
#############################################################