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