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