1 ############## mysql-test\t\query_cache_min_res_unit_basic.test ###############
3 # Variable Name: query_cache_min_res_unit #
5 # Access Type: Dynamic #
11 # Creation Date: 2008-02-07 #
12 # Author: Salman Rawala #
14 # Description: Test Cases of Dynamic System Variable query_cache_min_res_unit #
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_query_cache.inc
27 --source include/load_sysvars.inc
29 ########################################################################
32 ########################################################################
33 # START OF query_cache_min_res_unit TESTS #
34 ########################################################################
37 ###############################################################################
38 # Saving initial value of query_cache_min_res_unit in a temporary variable #
39 ###############################################################################
41 SET @start_value = @@global.query_cache_min_res_unit;
45 --echo
'#--------------------FN_DYNVARS_132_01------------------------#'
46 ###############################################################################
47 # Display the DEFAULT value of query_cache_min_res_unit #
48 ###############################################################################
50 SET @@global.query_cache_min_res_unit = 99;
51 SET @@global.query_cache_min_res_unit = DEFAULT;
52 SELECT @@global.query_cache_min_res_unit;
55 --echo
'#---------------------FN_DYNVARS_132_02-------------------------#'
56 ###############################################
57 # Verify default value of variable #
58 ###############################################
60 SET @@global.query_cache_min_res_unit = @start_value;
61 SELECT @@global.query_cache_min_res_unit = 4096;
64 --echo
'#--------------------FN_DYNVARS_132_03------------------------#'
65 ################################################################################
66 # Change the value of query_cache_min_res_unit to a valid value #
67 ################################################################################
69 SET @@global.query_cache_min_res_unit = 0;
70 SELECT @@global.query_cache_min_res_unit;
71 SET @@global.query_cache_min_res_unit = 1;
72 SELECT @@global.query_cache_min_res_unit;
73 SET @@global.query_cache_min_res_unit = 512;
74 SELECT @@global.query_cache_min_res_unit;
75 SET @@global.query_cache_min_res_unit = 513;
76 SELECT @@global.query_cache_min_res_unit;
77 SET @@global.query_cache_min_res_unit = 1048576;
78 SELECT @@global.query_cache_min_res_unit;
79 SET @@global.query_cache_min_res_unit = 1048575;
80 SELECT @@global.query_cache_min_res_unit;
83 --echo
'#--------------------FN_DYNVARS_132_04-------------------------#'
84 ###################################################################################
85 # Change the value of query_cache_min_res_unit to invalid value #
86 ###################################################################################
88 SET @@global.query_cache_min_res_unit = -1;
89 SELECT @@global.query_cache_min_res_unit;
90 SET @@global.query_cache_min_res_unit = 4294967296;
91 SELECT @@global.query_cache_min_res_unit;
92 SET @@global.query_cache_min_res_unit = 511;
93 SELECT @@global.query_cache_min_res_unit;
94 --Error ER_WRONG_TYPE_FOR_VAR
95 SET @@global.query_cache_min_res_unit = 10000.01;
96 SELECT @@global.query_cache_min_res_unit;
97 SET @@global.query_cache_min_res_unit = -1024;
98 SELECT @@global.query_cache_min_res_unit;
99 SET @@global.query_cache_min_res_unit = 42949672950;
100 SELECT @@global.query_cache_min_res_unit;
102 --Error ER_WRONG_TYPE_FOR_VAR
103 SET @@global.query_cache_min_res_unit = ON;
104 SELECT @@global.query_cache_min_res_unit;
105 --Error ER_WRONG_TYPE_FOR_VAR
106 SET @@global.query_cache_min_res_unit =
'test';
107 SELECT @@global.query_cache_min_res_unit;
110 --echo
'#-------------------FN_DYNVARS_132_05----------------------------#'
111 ###################################################################################
112 # Test if accessing session query_cache_min_res_unit gives error #
113 ###################################################################################
115 --Error ER_GLOBAL_VARIABLE
116 SET @@session.query_cache_min_res_unit = 0;
117 SELECT @@query_cache_min_res_unit;
120 --echo
'#----------------------FN_DYNVARS_132_06------------------------#'
121 ##############################################################################
122 # Check if the value in GLOBAL & SESSION Tables matches values in variable #
123 ##############################################################################
125 SELECT @@global.query_cache_min_res_unit = VARIABLE_VALUE
126 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
127 WHERE VARIABLE_NAME=
'query_cache_min_res_unit';
129 SELECT @@query_cache_min_res_unit = VARIABLE_VALUE
130 FROM INFORMATION_SCHEMA.SESSION_VARIABLES
131 WHERE VARIABLE_NAME=
'query_cache_min_res_unit';
134 --echo
'#---------------------FN_DYNVARS_132_07----------------------#'
135 ###################################################################
136 # Check if TRUE and FALSE values can be used on variable #
137 ###################################################################
139 SET @@global.query_cache_min_res_unit = TRUE;
140 SELECT @@global.query_cache_min_res_unit;
141 SET @@global.query_cache_min_res_unit = FALSE;
142 SELECT @@global.query_cache_min_res_unit;
145 --echo
'#---------------------FN_DYNVARS_132_08----------------------#'
146 ########################################################################################################
147 # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
148 ########################################################################################################
150 SET @@global.query_cache_min_res_unit = 1;
151 SELECT @@query_cache_min_res_unit = @@global.query_cache_min_res_unit;
154 --echo
'#---------------------FN_DYNVARS_132_09----------------------#'
155 ##################################################################################
156 # Check if query_cache_min_res_unit can be accessed with and without @@ sign #
157 ##################################################################################
159 --Error ER_GLOBAL_VARIABLE
160 SET query_cache_min_res_unit = 1;
161 SELECT @@query_cache_min_res_unit;
162 --Error ER_PARSE_ERROR
163 SET local.query_cache_min_res_unit = 1;
164 --Error ER_UNKNOWN_TABLE
165 SELECT local.query_cache_min_res_unit;
166 --Error ER_PARSE_ERROR
167 SET global.query_cache_min_res_unit = 1;
168 --Error ER_UNKNOWN_TABLE
169 SELECT global.query_cache_min_res_unit;
170 --Error ER_BAD_FIELD_ERROR
171 SELECT query_cache_min_res_unit = @@session.query_cache_min_res_unit;
174 ##############################
175 # Restore initial value #
176 ##############################
178 SET @@global.query_cache_min_res_unit = @start_value;
179 SELECT @@global.query_cache_min_res_unit;
182 ########################################################################
183 # END OF query_cache_min_res_unit TESTS #
184 ########################################################################