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# Saving initial value of max_binlog_stmt_cache_size in a temporary variable #
38# We also save binlog_stmt_cache_size because its value cannot be greater    #
39# than max_binlog_stmt_cache_size. (BUG#55377)                               #
40##############################################################################
41
42SET @start_max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size;
43SELECT @start_max_binlog_stmt_cache_size;
44SET @start_binlog_stmt_cache_size = @@global.binlog_stmt_cache_size;
45SELECT @start_binlog_stmt_cache_size;
46
47
48--echo '#--------------------FN_DYNVARS_072_01------------------------#'
49########################################################################
50#       Display the DEFAULT value of max_binlog_stmt_cache_size        #
51########################################################################
52
53SET @@global.max_binlog_stmt_cache_size = 5000;
54SET @@global.max_binlog_stmt_cache_size = DEFAULT;
55SELECT @@global.max_binlog_stmt_cache_size;
56
57
58--echo '#---------------------FN_DYNVARS_072_02-------------------------#'
59###############################################
60#     Verify default value of variable        #
61###############################################
62
63SET @@global.max_binlog_stmt_cache_size = @start_max_binlog_stmt_cache_size;
64SELECT @@global.max_binlog_stmt_cache_size = 4294967295;
65
66
67--echo '#--------------------FN_DYNVARS_072_03------------------------#'
68########################################################################
69#   Change the value of max_binlog_stmt_cache_size to a valid value    #
70########################################################################
71
72SET @@global.max_binlog_stmt_cache_size = 4096;
73SELECT @@global.max_binlog_stmt_cache_size;
74SET @@global.max_binlog_stmt_cache_size = 4294967295;
75SELECT @@global.max_binlog_stmt_cache_size;
76SET @@global.max_binlog_stmt_cache_size = 4294967294;
77SELECT @@global.max_binlog_stmt_cache_size;
78SET @@global.max_binlog_stmt_cache_size = 4097;
79SELECT @@global.max_binlog_stmt_cache_size;
80SET @@global.max_binlog_stmt_cache_size = 65535;
81SELECT @@global.max_binlog_stmt_cache_size;
82
83
84--echo '#--------------------FN_DYNVARS_072_04-------------------------#'
85###########################################################################
86#     Change the value of max_binlog_stmt_cache_size to invalid value     #
87###########################################################################
88
89SET @@global.max_binlog_stmt_cache_size = -1;
90SELECT @@global.max_binlog_stmt_cache_size;
91SET @@global.max_binlog_stmt_cache_size = 100000000000;
92SELECT @@global.max_binlog_stmt_cache_size;
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;
100SET @@global.max_binlog_stmt_cache_size = 4294967296;
101SELECT @@global.max_binlog_stmt_cache_size;
102SET @@global.max_binlog_stmt_cache_size = 4095;
103SELECT @@global.max_binlog_stmt_cache_size;
104
105--Error ER_WRONG_TYPE_FOR_VAR
106SET @@global.max_binlog_stmt_cache_size = ON;
107SELECT @@global.max_binlog_stmt_cache_size;
108--Error ER_WRONG_TYPE_FOR_VAR
109SET @@global.max_binlog_stmt_cache_size = 'test';
110SELECT @@global.max_binlog_stmt_cache_size;
111
112
113--echo '#-------------------FN_DYNVARS_072_05----------------------------#'
114###########################################################################
115#    Test if accessing session max_binlog_stmt_cache_size gives error     #
116###########################################################################
117
118--Error ER_GLOBAL_VARIABLE
119SET @@session.max_binlog_stmt_cache_size = 4096;
120--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
121SELECT @@session.max_binlog_stmt_cache_size;
122
123
124--echo '#----------------------FN_DYNVARS_072_06------------------------#'
125##############################################################################
126# Check if the value in GLOBAL & SESSION Tables matches values in variable   #
127##############################################################################
128
129SELECT @@global.max_binlog_stmt_cache_size = VARIABLE_VALUE
130FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
131WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
132
133SELECT @@max_binlog_stmt_cache_size = VARIABLE_VALUE
134FROM INFORMATION_SCHEMA.SESSION_VARIABLES
135WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
136
137
138--echo '#---------------------FN_DYNVARS_072_07----------------------#'
139###################################################################
140#      Check if TRUE and FALSE values can be used on variable     #
141###################################################################
142
143SET @@global.max_binlog_stmt_cache_size = TRUE;
144SELECT @@global.max_binlog_stmt_cache_size;
145SET @@global.max_binlog_stmt_cache_size = FALSE;
146SELECT @@global.max_binlog_stmt_cache_size;
147
148
149--echo '#---------------------FN_DYNVARS_072_08----------------------#'
150########################################################################################################
151#   Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable   #
152########################################################################################################
153
154SET @@global.max_binlog_stmt_cache_size = 5000;
155SELECT @@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size;
156
157
158--echo '#---------------------FN_DYNVARS_072_09----------------------#'
159################################################################################
160# Check if max_binlog_stmt_cache_size can be accessed with and without @@ sign #
161################################################################################
162
163--Error ER_GLOBAL_VARIABLE
164SET max_binlog_stmt_cache_size = 6000;
165SELECT @@max_binlog_stmt_cache_size;
166--Error ER_PARSE_ERROR
167SET local.max_binlog_stmt_cache_size = 7000;
168--Error ER_UNKNOWN_TABLE
169SELECT local.max_binlog_stmt_cache_size;
170--Error ER_PARSE_ERROR
171SET global.max_binlog_stmt_cache_size = 8000;
172--Error ER_UNKNOWN_TABLE
173SELECT global.max_binlog_stmt_cache_size;
174--Error ER_BAD_FIELD_ERROR
175SELECT max_binlog_stmt_cache_size = @@session.max_binlog_stmt_cache_size;
176
177
178##############################
179#   Restore initial value    #
180##############################
181
182SET @@global.max_binlog_stmt_cache_size = @start_max_binlog_stmt_cache_size;
183SELECT @@global.max_binlog_stmt_cache_size;
184SET @@global.binlog_stmt_cache_size= @start_binlog_stmt_cache_size;
185SELECT @@global.binlog_stmt_cache_size;
186
187
188########################################################################
189#           END OF max_binlog_stmt_cache_size TESTS                    #
190########################################################################
191