1
############## mysql-test\t\engine_condition_pushdown_basic.test ##############
3
# Variable Name: engine_condition_pushdown #
4
# Scope: GLOBAL | SESSION #
5
# Access Type: Dynamic #
8
# Valid Values: ON, OFF #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable engine_condition_pushdown#
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/load_sysvars.inc
28
########################################################################
29
# START OF engine_condition_pushdown TESTS #
30
########################################################################
33
###############################################################################
34
# Saving initial value of engine_condition_pushdown in a temporary variable #
35
###############################################################################
37
SET @session_start_value = @@session.engine_condition_pushdown;
38
SELECT @session_start_value;
40
SET @global_start_value = @@global.engine_condition_pushdown;
41
SELECT @global_start_value;
43
--echo '#--------------------FN_DYNVARS_028_01------------------------#'
44
########################################################################
45
# Display the DEFAULT value of engine_condition_pushdown #
46
########################################################################
48
SET @@session.engine_condition_pushdown = 0;
49
SET @@session.engine_condition_pushdown = DEFAULT;
50
SELECT @@session.engine_condition_pushdown;
52
SET @@global.engine_condition_pushdown = 0;
53
SET @@global.engine_condition_pushdown = DEFAULT;
54
SELECT @@global.engine_condition_pushdown;
56
--echo '#---------------------FN_DYNVARS_028_02-------------------------#'
57
###############################################################################
58
# Check if engine_condition_pushdown can be accessed with and without @@ sign #
59
###############################################################################
61
SET engine_condition_pushdown = 1;
62
SELECT @@engine_condition_pushdown;
64
--Error ER_UNKNOWN_TABLE
65
SELECT session.engine_condition_pushdown;
67
--Error ER_UNKNOWN_TABLE
68
SELECT local.engine_condition_pushdown;
70
--Error ER_UNKNOWN_TABLE
71
SELECT global.engine_condition_pushdown;
73
SET session engine_condition_pushdown = 0;
74
SELECT @@session.engine_condition_pushdown;
76
SET global engine_condition_pushdown = 0;
77
SELECT @@global.engine_condition_pushdown;
80
--echo '#--------------------FN_DYNVARS_028_03------------------------#'
81
##########################################################################
82
# change the value of engine_condition_pushdown to a valid value #
83
##########################################################################
85
SET @@session.engine_condition_pushdown = 0;
86
SELECT @@session.engine_condition_pushdown;
87
SET @@session.engine_condition_pushdown = 1;
88
SELECT @@session.engine_condition_pushdown;
91
SET @@global.engine_condition_pushdown = 0;
92
SELECT @@global.engine_condition_pushdown;
93
SET @@global.engine_condition_pushdown = 1;
94
SELECT @@global.engine_condition_pushdown;
97
--echo '#--------------------FN_DYNVARS_028_04-------------------------#'
98
###########################################################################
99
# Change the value of engine_condition_pushdown to invalid value #
100
###########################################################################
102
--Error ER_WRONG_VALUE_FOR_VAR
103
SET @@session.engine_condition_pushdown = -1;
104
--Error ER_WRONG_VALUE_FOR_VAR
105
SET @@session.engine_condition_pushdown = 1.6;
106
--Error ER_WRONG_VALUE_FOR_VAR
107
SET @@session.engine_condition_pushdown = "T";
108
--Error ER_WRONG_VALUE_FOR_VAR
109
SET @@session.engine_condition_pushdown = "Y";
110
--Error ER_WRONG_VALUE_FOR_VAR
111
SET @@session.engine_condition_pushdown = TR�E;
112
--Error ER_WRONG_VALUE_FOR_VAR
113
SET @@session.engine_condition_pushdown = �N;
115
SET @@session.engine_condition_pushdown = OF;
116
SELECT @@session.engine_condition_pushdown;
117
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
119
--Error ER_WRONG_VALUE_FOR_VAR
120
SET @@session.engine_condition_pushdown = �FF;
124
--Error ER_WRONG_VALUE_FOR_VAR
125
SET @@global.engine_condition_pushdown = -1;
126
--Error ER_WRONG_VALUE_FOR_VAR
127
SET @@global.engine_condition_pushdown = 2;
128
--Error ER_WRONG_VALUE_FOR_VAR
129
SET @@global.engine_condition_pushdown = "T";
130
--Error ER_WRONG_VALUE_FOR_VAR
131
SET @@global.engine_condition_pushdown = "Y";
132
--Error ER_WRONG_VALUE_FOR_VAR
133
SET @@global.engine_condition_pushdown = TR�E;
134
--Error ER_WRONG_VALUE_FOR_VAR
135
SET @@global.engine_condition_pushdown = �N;
137
SET @@global.engine_condition_pushdown = OF;
138
SELECT @@global.engine_condition_pushdown;
140
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
142
--Error ER_WRONG_VALUE_FOR_VAR
143
SET @@global.engine_condition_pushdown = �FF;
146
--echo '#-------------------FN_DYNVARS_028_05----------------------------#'
147
###########################################################################
148
# Test if changing global variable effects session and vice versa #
149
###########################################################################
151
SET @@global.engine_condition_pushdown = 0;
152
SET @@session.engine_condition_pushdown = 1;
153
SELECT @@global.engine_condition_pushdown AS res_is_0;
155
SET @@global.engine_condition_pushdown = 0;
156
SELECT @@session.engine_condition_pushdown AS res_is_1;
158
--echo '#----------------------FN_DYNVARS_028_06------------------------#'
159
#########################################################################
160
# Check if the value in GLOBAL Table matches value in variable #
161
#########################################################################
163
SELECT @@global.engine_condition_pushdown = VARIABLE_VALUE
164
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
165
WHERE VARIABLE_NAME='engine_condition_pushdown';
166
SELECT @@global.engine_condition_pushdown;
167
SELECT VARIABLE_VALUE
168
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
169
WHERE VARIABLE_NAME='engine_condition_pushdown';
171
--echo '#----------------------FN_DYNVARS_028_07------------------------#'
172
#########################################################################
173
# Check if the value in SESSION Table matches value in variable #
174
#########################################################################
176
SELECT @@session.engine_condition_pushdown = VARIABLE_VALUE
177
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
178
WHERE VARIABLE_NAME='engine_condition_pushdown';
179
SELECT @@session.engine_condition_pushdown;
180
SELECT VARIABLE_VALUE
181
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
182
WHERE VARIABLE_NAME='engine_condition_pushdown';
185
--echo '#---------------------FN_DYNVARS_028_08-------------------------#'
186
###################################################################
187
# Check if ON and OFF values can be used on variable #
188
###################################################################
190
SET @@session.engine_condition_pushdown = OFF;
191
SELECT @@session.engine_condition_pushdown;
192
SET @@session.engine_condition_pushdown = ON;
193
SELECT @@session.engine_condition_pushdown;
195
SET @@global.engine_condition_pushdown = OFF;
196
SELECT @@global.engine_condition_pushdown;
197
SET @@global.engine_condition_pushdown = ON;
198
SELECT @@global.engine_condition_pushdown;
200
--echo '#---------------------FN_DYNVARS_028_09----------------------#'
201
###################################################################
202
# Check if TRUE and FALSE values can be used on variable #
203
###################################################################
205
SET @@session.engine_condition_pushdown = TRUE;
206
SELECT @@session.engine_condition_pushdown;
207
SET @@session.engine_condition_pushdown = FALSE;
208
SELECT @@session.engine_condition_pushdown;
210
SET @@global.engine_condition_pushdown = TRUE;
211
SELECT @@global.engine_condition_pushdown;
212
SET @@global.engine_condition_pushdown = FALSE;
213
SELECT @@global.engine_condition_pushdown;
215
##############################
216
# Restore initial value #
217
##############################
219
SET @@session.engine_condition_pushdown = @session_start_value;
220
SELECT @@session.engine_condition_pushdown;
222
SET @@global.engine_condition_pushdown = @global_start_value;
223
SELECT @@global.engine_condition_pushdown;
225
###############################################################
226
# END OF engine_condition_pushdown TESTS #
227
###############################################################