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 129--disable_warnings 130SELECT @@global.max_binlog_stmt_cache_size = VARIABLE_VALUE 131FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 132WHERE VARIABLE_NAME='max_binlog_stmt_cache_size'; 133 134SELECT @@max_binlog_stmt_cache_size = VARIABLE_VALUE 135FROM INFORMATION_SCHEMA.SESSION_VARIABLES 136WHERE VARIABLE_NAME='max_binlog_stmt_cache_size'; 137--enable_warnings 138 139 140--echo '#---------------------FN_DYNVARS_072_07----------------------#' 141################################################################### 142# Check if TRUE and FALSE values can be used on variable # 143################################################################### 144 145SET @@global.max_binlog_stmt_cache_size = TRUE; 146SELECT @@global.max_binlog_stmt_cache_size; 147SET @@global.max_binlog_stmt_cache_size = FALSE; 148SELECT @@global.max_binlog_stmt_cache_size; 149 150 151--echo '#---------------------FN_DYNVARS_072_08----------------------#' 152######################################################################################################## 153# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable # 154######################################################################################################## 155 156SET @@global.max_binlog_stmt_cache_size = 5000; 157SELECT @@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size; 158 159 160--echo '#---------------------FN_DYNVARS_072_09----------------------#' 161################################################################################ 162# Check if max_binlog_stmt_cache_size can be accessed with and without @@ sign # 163################################################################################ 164 165--Error ER_GLOBAL_VARIABLE 166SET max_binlog_stmt_cache_size = 6000; 167SELECT @@max_binlog_stmt_cache_size; 168--Error ER_PARSE_ERROR 169SET local.max_binlog_stmt_cache_size = 7000; 170--Error ER_UNKNOWN_TABLE 171SELECT local.max_binlog_stmt_cache_size; 172--Error ER_PARSE_ERROR 173SET global.max_binlog_stmt_cache_size = 8000; 174--Error ER_UNKNOWN_TABLE 175SELECT global.max_binlog_stmt_cache_size; 176--Error ER_BAD_FIELD_ERROR 177SELECT max_binlog_stmt_cache_size = @@session.max_binlog_stmt_cache_size; 178 179 180############################## 181# Restore initial value # 182############################## 183 184SET @@global.max_binlog_stmt_cache_size = @start_max_binlog_stmt_cache_size; 185SELECT @@global.max_binlog_stmt_cache_size; 186SET @@global.binlog_stmt_cache_size= @start_binlog_stmt_cache_size; 187SELECT @@global.binlog_stmt_cache_size; 188 189 190######################################################################## 191# END OF max_binlog_stmt_cache_size TESTS # 192######################################################################## 193