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