1############ mysql-test\t\max_binlog_stmt_cache_size_basic.test ###############
2#                                                                             #
3# Variable Name: max_binlog_stmt_cache_size                                   #
4# Scope: GLOBAL                                                               #
5# Access Type: Dynamic                                                        #
6# Data Type: numeric                                                          #
7# Default Value:4294967295                                                    #
8# Range: 4096-4294967295                                                      #
9#                                                                             #
10#                                                                             #
11#                                                                             #
12#                                                                             #
13#                                                                             #
14# Creation Date: 2010-11-05                                                   #
15# Author:  Alfranio                                                           #
16#                                                                             #
17# Description: Test Cases of Dynamic System Variable                          #
18#              max_binlog_stmt_cache_size that checks                         #
19#              the behavior of this variable in the following ways            #
20#              * Default Value                                                #
21#              * Valid & Invalid values                                       #
22#              * Scope & Access method                                        #
23#              * Data Integrity                                               #
24#                                                                             #
25# Reference: http://dev.mysql.com/doc/refman/5.5/en/                          #
26#  server-system-variables.html                                               #
27#                                                                             #
28###############################################################################
29
30--source include/load_sysvars.inc
31
32##########################################################################
33#           START OF max_binlog_stmt_cache_size TESTS                    #
34##########################################################################
35
36
37##############################################################################
38# Saving initial value of max_binlog_stmt_cache_size in a temporary variable #
39##############################################################################
40
41SET @start_value = @@global.max_binlog_stmt_cache_size;
42--replace_result 18446744073709547520 max_binlog_stmt_cache_size 4294963200 max_binlog_stmt_cache_size
43SELECT @start_value;
44
45
46--echo '#--------------------FN_DYNVARS_072_01------------------------#'
47########################################################################
48#       Display the DEFAULT value of max_binlog_stmt_cache_size        #
49########################################################################
50
51SET @@global.max_binlog_stmt_cache_size = 5000;
52SET @@global.max_binlog_stmt_cache_size = DEFAULT;
53--replace_result 18446744073709547520 max_binlog_stmt_cache_size 4294963200 max_binlog_stmt_cache_size
54SELECT @@global.max_binlog_stmt_cache_size;
55
56
57--echo '#---------------------FN_DYNVARS_072_02-------------------------#'
58###############################################
59#     Verify default value of variable        #
60###############################################
61
62SET @@global.max_binlog_stmt_cache_size = @start_value;
63SELECT @@global.max_binlog_stmt_cache_size = 4294967295;
64
65--echo '#--------------------FN_DYNVARS_072_03------------------------#'
66########################################################################
67#   Change the value of max_binlog_stmt_cache_size to a valid value    #
68########################################################################
69
70SET @@global.max_binlog_stmt_cache_size = 4096;
71SELECT @@global.max_binlog_stmt_cache_size;
72SET @@global.max_binlog_stmt_cache_size = 4294967295;
73SELECT @@global.max_binlog_stmt_cache_size;
74SET @@global.max_binlog_stmt_cache_size = 4294967294;
75SELECT @@global.max_binlog_stmt_cache_size;
76SET @@global.max_binlog_stmt_cache_size = 4097;
77SELECT @@global.max_binlog_stmt_cache_size;
78SET @@global.max_binlog_stmt_cache_size = 65535;
79SELECT @@global.max_binlog_stmt_cache_size;
80
81
82--echo '#--------------------FN_DYNVARS_072_04-------------------------#'
83###########################################################################
84#     Change the value of max_binlog_stmt_cache_size to invalid value     #
85###########################################################################
86
87SET @@global.max_binlog_stmt_cache_size = -1;
88SELECT @@global.max_binlog_stmt_cache_size;
89SET @@global.max_binlog_stmt_cache_size = 100000000000;
90--replace_result 99999997952 max_binlog_stmt_cache_size 4294963200 max_binlog_stmt_cache_size
91SELECT @@global.max_binlog_stmt_cache_size;
92SET @@global.max_binlog_stmt_cache_size = 1024*1024;
93--Error ER_WRONG_TYPE_FOR_VAR
94SET @@global.max_binlog_stmt_cache_size = 10000.01;
95SELECT @@global.max_binlog_stmt_cache_size;
96SET @@global.max_binlog_stmt_cache_size = -1024;
97SELECT @@global.max_binlog_stmt_cache_size;
98SET @@global.max_binlog_stmt_cache_size = 1024;
99SELECT @@global.max_binlog_stmt_cache_size;
100--disable_warnings
101SET @@global.max_binlog_stmt_cache_size = 4294967296;
102--enable_warnings
103--replace_result 4294963200 max_binlog_stmt_cache_size 4294967296 max_binlog_stmt_cache_size
104SELECT @@global.max_binlog_stmt_cache_size;
105SET @@global.max_binlog_stmt_cache_size = 4095;
106SELECT @@global.max_binlog_stmt_cache_size;
107
108--Error ER_WRONG_TYPE_FOR_VAR
109SET @@global.max_binlog_stmt_cache_size = ON;
110SELECT @@global.max_binlog_stmt_cache_size;
111--Error ER_WRONG_TYPE_FOR_VAR
112SET @@global.max_binlog_stmt_cache_size = 'test';
113SELECT @@global.max_binlog_stmt_cache_size;
114
115
116--echo '#-------------------FN_DYNVARS_072_05----------------------------#'
117###########################################################################
118#    Test if accessing session max_binlog_stmt_cache_size gives error     #
119###########################################################################
120
121--Error ER_GLOBAL_VARIABLE
122SET @@session.max_binlog_stmt_cache_size = 4096;
123--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
124SELECT @@session.max_binlog_stmt_cache_size;
125
126
127--echo '#----------------------FN_DYNVARS_072_06------------------------#'
128##############################################################################
129# Check if the value in GLOBAL & SESSION Tables matches values in variable   #
130##############################################################################
131
132SELECT @@global.max_binlog_stmt_cache_size = VARIABLE_VALUE
133FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
134WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
135
136SELECT @@max_binlog_stmt_cache_size = VARIABLE_VALUE
137FROM INFORMATION_SCHEMA.SESSION_VARIABLES
138WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
139
140
141--echo '#---------------------FN_DYNVARS_072_07----------------------#'
142###################################################################
143#      Check if TRUE and FALSE values can be used on variable     #
144###################################################################
145
146SET @@global.max_binlog_stmt_cache_size = TRUE;
147SELECT @@global.max_binlog_stmt_cache_size;
148SET @@global.max_binlog_stmt_cache_size = FALSE;
149SELECT @@global.max_binlog_stmt_cache_size;
150
151
152--echo '#---------------------FN_DYNVARS_072_08----------------------#'
153########################################################################################################
154#   Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable   #
155########################################################################################################
156
157SET @@global.max_binlog_stmt_cache_size = 5000;
158SELECT @@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size;
159
160
161--echo '#---------------------FN_DYNVARS_072_09----------------------#'
162################################################################################
163# Check if max_binlog_stmt_cache_size can be accessed with and without @@ sign #
164################################################################################
165
166--Error ER_GLOBAL_VARIABLE
167SET max_binlog_stmt_cache_size = 6000;
168SELECT @@max_binlog_stmt_cache_size;
169--Error ER_UNKNOWN_TABLE
170SELECT local.max_binlog_stmt_cache_size;
171--Error ER_UNKNOWN_TABLE
172SELECT global.max_binlog_stmt_cache_size;
173--Error ER_BAD_FIELD_ERROR
174SELECT max_binlog_stmt_cache_size = @@session.max_binlog_stmt_cache_size;
175
176
177##############################
178#   Restore initial value    #
179##############################
180
181SET @@global.max_binlog_stmt_cache_size = @start_value;
182--replace_result 4294963200 max_binlog_stmt_cache_size 18446744073709547520 max_binlog_stmt_cache_size
183SELECT @@global.max_binlog_stmt_cache_size;
184
185
186########################################################################
187#           END OF max_binlog_stmt_cache_size TESTS                    #
188########################################################################
189