1################# mysql-test\t\innodb_max_purge_lag_basic.test ################ 2# # 3# Variable Name: innodb_max_purge_lag # 4# Scope: GLOBAL # 5# Access Type: Dynamic # 6# Data Type: Numeric # 7# Default Value: 0 # 8# Range: 0-4294967295 # 9# # 10# # 11# Creation Date: 2008-02-07 # 12# Author: Rizwan # 13# # 14#Description:Test Cases of Dynamic System Variable innodb_max_purge_lag # 15# that checks the behavior of this variable in the following ways # 16# * Default Value # 17# * Valid & Invalid values # 18# * Scope & Access method # 19# * Data Integrity # 20# # 21# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # 22# server-system-variables.html # 23# # 24############################################################################### 25 26--source include/have_innodb.inc 27--source include/load_sysvars.inc 28 29######################################################################## 30# START OF innodb_max_purge_lag TESTS # 31######################################################################## 32 33################################################################################ 34# Saving initial value of innodb_max_purge_lag in a temporary variable # 35################################################################################ 36 37SET @global_start_value = @@global.innodb_max_purge_lag; 38SELECT @global_start_value; 39 40--echo '#--------------------FN_DYNVARS_046_01------------------------#' 41######################################################################## 42# Display the DEFAULT value of innodb_max_purge_lag # 43######################################################################## 44 45SET @@global.innodb_max_purge_lag = 0; 46SET @@global.innodb_max_purge_lag = DEFAULT; 47SELECT @@global.innodb_max_purge_lag; 48 49--echo '#---------------------FN_DYNVARS_046_02-------------------------#' 50############################################################################ 51# Check if innodb_max_purge_lag can be accessed with and without @@ sign # 52############################################################################ 53 54--Error ER_GLOBAL_VARIABLE 55SET innodb_max_purge_lag = 1; 56SELECT @@innodb_max_purge_lag; 57 58--Error ER_UNKNOWN_TABLE 59SELECT local.innodb_max_purge_lag; 60 61SET global innodb_max_purge_lag = 0; 62SELECT @@global.innodb_max_purge_lag; 63 64--echo '#--------------------FN_DYNVARS_046_03------------------------#' 65########################################################################## 66# change the value of innodb_max_purge_lag to a valid value # 67########################################################################## 68 69 70SET @@global.innodb_max_purge_lag = 0; 71SELECT @@global.innodb_max_purge_lag; 72 73SET @@global.innodb_max_purge_lag = 1; 74SELECT @@global.innodb_max_purge_lag; 75SET @@global.innodb_max_purge_lag = 4294967295; 76SELECT @@global.innodb_max_purge_lag; 77 78--echo '#--------------------FN_DYNVARS_046_04-------------------------#' 79########################################################################### 80# Change the value of innodb_max_purge_lag to invalid value # 81########################################################################### 82 83SET @@global.innodb_max_purge_lag = -1; 84SELECT @@global.innodb_max_purge_lag; 85 86--Error ER_WRONG_TYPE_FOR_VAR 87SET @@global.innodb_max_purge_lag = "T"; 88SELECT @@global.innodb_max_purge_lag; 89 90--Error ER_WRONG_TYPE_FOR_VAR 91SET @@global.innodb_max_purge_lag = "Y"; 92SELECT @@global.innodb_max_purge_lag; 93 94 95SET @@global.innodb_max_purge_lag = 1001; 96SELECT @@global.innodb_max_purge_lag; 97 98--echo '#----------------------FN_DYNVARS_046_05------------------------#' 99######################################################################### 100# Check if the value in GLOBAL Table matches value in variable # 101######################################################################### 102 103SELECT @@global.innodb_max_purge_lag = 104 VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 105 WHERE VARIABLE_NAME='innodb_max_purge_lag'; 106SELECT @@global.innodb_max_purge_lag; 107SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 108 WHERE VARIABLE_NAME='innodb_max_purge_lag'; 109 110 111 112 113--echo '#---------------------FN_DYNVARS_046_06-------------------------#' 114################################################################### 115# Check if ON and OFF values can be used on variable # 116################################################################### 117 118--ERROR ER_WRONG_TYPE_FOR_VAR 119SET @@global.innodb_max_purge_lag = OFF; 120SELECT @@global.innodb_max_purge_lag; 121 122--ERROR ER_WRONG_TYPE_FOR_VAR 123SET @@global.innodb_max_purge_lag = ON; 124SELECT @@global.innodb_max_purge_lag; 125 126--echo '#---------------------FN_DYNVARS_046_07----------------------#' 127################################################################### 128# Check if TRUE and FALSE values can be used on variable # 129################################################################### 130 131 132SET @@global.innodb_max_purge_lag = TRUE; 133SELECT @@global.innodb_max_purge_lag; 134SET @@global.innodb_max_purge_lag = FALSE; 135SELECT @@global.innodb_max_purge_lag; 136 137############################## 138# Restore initial value # 139############################## 140 141 142SET @@global.innodb_max_purge_lag = @global_start_value; 143SELECT @@global.innodb_max_purge_lag; 144 145############################################################### 146# END OF innodb_max_purge_lag TESTS # 147############################################################### 148