1############ mysql-test\t\innodb_adaptive_flushing_lwm_basic.test #############
2#                                                                             #
3# Variable Name: innodb_adaptive_flushing_lwm                                 #
4# Scope: GLOBAL                                                               #
5# Access Type: Dynamic                                                        #
6# Data Type: Numeric                                                          #
7# Default Value: 10                                                           #
8# Range: 0-70                                                                 #
9#                                                                             #
10#                                                                             #
11# Creation Date: 2008-02-07                                                   #
12# Author:  Rizwan                                                             #
13#                                                                             #
14#Description:Test Cases of Dynamic System Variable innodb_adaptive_flushing_lwm #
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_adaptive_flushing_lwm TESTS            #
31########################################################################
32
33
34###############################################################################
35#Saving initial value of innodb_adaptive_flushing_lwm in a temporary variable #
36###############################################################################
37
38SET @global_start_value = @@global.innodb_adaptive_flushing_lwm;
39SELECT @global_start_value;
40
41--echo '#--------------------FN_DYNVARS_046_01------------------------#'
42########################################################################
43#      Display the DEFAULT value of innodb_adaptive_flushing_lwm       #
44########################################################################
45
46SET @@global.innodb_adaptive_flushing_lwm = 1;
47SET @@global.innodb_adaptive_flushing_lwm = DEFAULT;
48SELECT @@global.innodb_adaptive_flushing_lwm;
49
50--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
51###################################################################################
52#  Check if innodb_adaptive_flushing_lwm can be accessed with and without @@ sign #
53###################################################################################
54
55--Error ER_GLOBAL_VARIABLE
56SET innodb_adaptive_flushing_lwm = 1;
57SELECT @@innodb_adaptive_flushing_lwm;
58
59--Error ER_UNKNOWN_TABLE
60SELECT local.innodb_adaptive_flushing_lwm;
61
62SET global innodb_adaptive_flushing_lwm = 1;
63SELECT @@global.innodb_adaptive_flushing_lwm;
64
65--echo '#--------------------FN_DYNVARS_046_03------------------------#'
66###############################################################################
67#     change the value of innodb_adaptive_flushing_lwm to a valid value       #
68###############################################################################
69
70SET @@global.innodb_adaptive_flushing_lwm = 0;
71SELECT @@global.innodb_adaptive_flushing_lwm;
72SET @@global.innodb_adaptive_flushing_lwm = 1;
73SELECT @@global.innodb_adaptive_flushing_lwm;
74SET @@global.innodb_adaptive_flushing_lwm = 60;
75SELECT @@global.innodb_adaptive_flushing_lwm;
76SET @@global.innodb_adaptive_flushing_lwm = 70;
77SELECT @@global.innodb_adaptive_flushing_lwm;
78
79--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
80###########################################################################
81#  Change the value of innodb_adaptive_flushing_lwm to invalid value      #
82###########################################################################
83
84SET @@global.innodb_adaptive_flushing_lwm = -1;
85SELECT @@global.innodb_adaptive_flushing_lwm;
86
87SET @@global.innodb_adaptive_flushing_lwm = -1024;
88SELECT @@global.innodb_adaptive_flushing_lwm;
89
90--Error ER_WRONG_TYPE_FOR_VAR
91SET @@global.innodb_adaptive_flushing_lwm = "T";
92SELECT @@global.innodb_adaptive_flushing_lwm;
93
94--Error ER_WRONG_TYPE_FOR_VAR
95SET @@global.innodb_adaptive_flushing_lwm = "Y";
96SELECT @@global.innodb_adaptive_flushing_lwm;
97
98--Error ER_WRONG_TYPE_FOR_VAR
99SET @@global.innodb_adaptive_flushing_lwm = 10.4;
100SELECT @@global.innodb_adaptive_flushing_lwm;
101
102SET @@global.innodb_adaptive_flushing_lwm = 71;
103SELECT @@global.innodb_adaptive_flushing_lwm;
104
105SET @@global.innodb_adaptive_flushing_lwm = 65536;
106SELECT @@global.innodb_adaptive_flushing_lwm;
107
108--echo '#----------------------FN_DYNVARS_046_05------------------------#'
109#########################################################################
110#     Check if the value in GLOBAL Table matches value in variable      #
111#########################################################################
112
113--disable_warnings
114SELECT @@global.innodb_adaptive_flushing_lwm =
115 VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
116  WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
117--enable_warnings
118SELECT @@global.innodb_adaptive_flushing_lwm;
119--disable_warnings
120SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
121 WHERE VARIABLE_NAME='innodb_adaptive_flushing_lwm';
122--enable_warnings
123
124--echo '#---------------------FN_DYNVARS_046_06-------------------------#'
125###################################################################
126#        Check if ON and OFF values can be used on variable       #
127###################################################################
128
129--ERROR ER_WRONG_TYPE_FOR_VAR
130SET @@global.innodb_adaptive_flushing_lwm = OFF;
131SELECT @@global.innodb_adaptive_flushing_lwm;
132
133--ERROR ER_WRONG_TYPE_FOR_VAR
134SET @@global.innodb_adaptive_flushing_lwm = ON;
135SELECT @@global.innodb_adaptive_flushing_lwm;
136
137--echo '#---------------------FN_DYNVARS_046_07----------------------#'
138###################################################################
139#      Check if TRUE and FALSE values can be used on variable     #
140###################################################################
141
142
143SET @@global.innodb_adaptive_flushing_lwm = TRUE;
144SELECT @@global.innodb_adaptive_flushing_lwm;
145SET @@global.innodb_adaptive_flushing_lwm = FALSE;
146SELECT @@global.innodb_adaptive_flushing_lwm;
147
148##############################
149#   Restore initial value    #
150##############################
151
152SET @@global.innodb_adaptive_flushing_lwm = @global_start_value;
153SELECT @@global.innodb_adaptive_flushing_lwm;
154
155###############################################################
156#               END OF innodb_adaptive_flushing_lwm TESTS     #
157###############################################################
158