~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/t/innodb_table_locks_basic.test

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
################# mysql-test\t\innodb_table_locks_basic.test ##################
 
2
#                                                                             #
 
3
# Variable Name: innodb_table_locks                                           #
 
4
# Scope: GLOBAL | SESSION                                                     #
 
5
# Access Type: Dynamic                                                        #
 
6
# Data Type: boolean                                                          #
 
7
# Default Value: 1                                                            #
 
8
# Range: 0,1                                                                  #
 
9
#                                                                             #
 
10
#                                                                             #
 
11
# Creation Date: 2008-02-20                                                   #
 
12
# Author:  Rizwan                                                             #
 
13
#                                                                             #
 
14
# Description: Test Cases of Dynamic System Variable innodb_table_locks       #
 
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_table_locks TESTS                 #
 
31
######################################################################## 
 
32
 
 
33
 
 
34
################################################################################ 
 
35
#   Saving initial value of innodb_table_locks in a temporary variable         #
 
36
################################################################################ 
 
37
 
 
38
 
 
39
SET @session_start_value = @@session.innodb_table_locks;
 
40
SELECT @session_start_value;
 
41
 
 
42
 
 
43
SET @global_start_value = @@global.innodb_table_locks;
 
44
SELECT @global_start_value;
 
45
 
 
46
 
 
47
 
 
48
--echo '#--------------------FN_DYNVARS_046_01------------------------#'
 
49
######################################################################## 
 
50
#           Display the DEFAULT value of innodb_table_locks            #
 
51
######################################################################## 
 
52
 
 
53
SET @@session.innodb_table_locks = 0;
 
54
SET @@session.innodb_table_locks = DEFAULT;
 
55
SELECT @@session.innodb_table_locks;
 
56
 
 
57
SET @@global.innodb_table_locks = 0;
 
58
SET @@global.innodb_table_locks = DEFAULT;
 
59
SELECT @@global.innodb_table_locks;
 
60
 
 
61
--echo '#---------------------FN_DYNVARS_046_02-------------------------#'
 
62
###############################################################################
 
63
#   Check if innodb_table_locks can be accessed with and without @@ sign      #
 
64
###############################################################################
 
65
 
 
66
SET innodb_table_locks = 1;
 
67
SELECT @@innodb_table_locks;
 
68
 
 
69
--Error ER_UNKNOWN_TABLE
 
70
SELECT session.innodb_table_locks;
 
71
 
 
72
--Error ER_UNKNOWN_TABLE
 
73
SELECT local.innodb_table_locks;
 
74
 
 
75
--Error ER_UNKNOWN_TABLE
 
76
SELECT global.innodb_table_locks;
 
77
#using another syntax for accessing system variables
 
78
SET session innodb_table_locks = 0;
 
79
SELECT @@session.innodb_table_locks;
 
80
 
 
81
SET global innodb_table_locks = 0;
 
82
SELECT @@global.innodb_table_locks;
 
83
 
 
84
 
 
85
--echo '#--------------------FN_DYNVARS_046_03------------------------#'
 
86
##########################################################################
 
87
#      change the value of innodb_table_locks to a valid value           #
 
88
##########################################################################
 
89
# for session
 
90
SET @@session.innodb_table_locks = 0;
 
91
SELECT @@session.innodb_table_locks;
 
92
SET @@session.innodb_table_locks = 1;
 
93
SELECT @@session.innodb_table_locks;
 
94
 
 
95
# for global
 
96
SET @@global.innodb_table_locks = 0;
 
97
SELECT @@global.innodb_table_locks;
 
98
SET @@global.innodb_table_locks = 1;
 
99
SELECT @@global.innodb_table_locks;
 
100
 
 
101
 
 
102
--echo '#--------------------FN_DYNVARS_046_04-------------------------#'
 
103
########################################################################### 
 
104
#       Change the value of innodb_table_locks to invalid value           #
 
105
########################################################################### 
 
106
 
 
107
# for session
 
108
 
 
109
SET @@session.innodb_table_locks = -6;
 
110
--Error ER_WRONG_VALUE_FOR_VAR
 
111
SET @@session.innodb_table_locks = 1.6;
 
112
--Error ER_WRONG_VALUE_FOR_VAR
 
113
SET @@session.innodb_table_locks = "T";
 
114
--Error ER_WRONG_VALUE_FOR_VAR
 
115
SET @@session.innodb_table_locks = "Y";
 
116
--Error ER_WRONG_VALUE_FOR_VAR
 
117
SET @@session.innodb_table_locks = TR�E;
 
118
--Error ER_WRONG_VALUE_FOR_VAR
 
119
SET @@session.innodb_table_locks = �N;
 
120
 
 
121
SET @@session.innodb_table_locks = OF;
 
122
SELECT @@session.innodb_table_locks;
 
123
 
 
124
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
 
125
 
 
126
--Error ER_WRONG_VALUE_FOR_VAR
 
127
SET @@session.innodb_table_locks = �FF;
 
128
 
 
129
# for global
 
130
 
 
131
 
 
132
SET @@global.innodb_table_locks = -1;
 
133
--Error ER_WRONG_VALUE_FOR_VAR
 
134
SET @@global.innodb_table_locks = 2;
 
135
--Error ER_WRONG_VALUE_FOR_VAR
 
136
SET @@global.innodb_table_locks = "T";
 
137
--Error ER_WRONG_VALUE_FOR_VAR
 
138
SET @@global.innodb_table_locks = "Y";
 
139
--Error ER_WRONG_VALUE_FOR_VAR
 
140
SET @@global.innodb_table_locks = TR�E;
 
141
--Error ER_WRONG_VALUE_FOR_VAR
 
142
SET @@global.innodb_table_locks = QN;
 
143
 
 
144
SET @@global.innodb_table_locks = OF;
 
145
SELECT @@global.innodb_table_locks;
 
146
 
 
147
--echo 'Bug# 34828: OF is taken as OFF and a value of 0 is set.'
 
148
 
 
149
--Error ER_WRONG_TYPE_FOR_VAR
 
150
#SET @@global.innodb_table_locks = �FF;
 
151
 
 
152
 
 
153
--echo '#-------------------FN_DYNVARS_046_05----------------------------#'
 
154
########################################################################### 
 
155
#       Test if changing global variable effects session and vice versa   #
 
156
########################################################################### 
 
157
 
 
158
SET @@global.innodb_table_locks = 0;
 
159
SET @@session.innodb_table_locks = 1;
 
160
SELECT @@global.innodb_table_locks AS res_is_0;
 
161
 
 
162
SET @@global.innodb_table_locks = 0;
 
163
SELECT @@session.innodb_table_locks AS res_is_1;
 
164
 
 
165
--echo '#----------------------FN_DYNVARS_046_06------------------------#'
 
166
######################################################################### 
 
167
#     Check if the value in GLOBAL Table matches value in variable      #
 
168
#########################################################################
 
169
 
 
170
SELECT @@global.innodb_table_locks =
 
171
 VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
 
172
  WHERE VARIABLE_NAME='innodb_table_locks';
 
173
SELECT @@global.innodb_table_locks;
 
174
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
 
175
 WHERE VARIABLE_NAME='innodb_table_locks';
 
176
 
 
177
--echo '#----------------------FN_DYNVARS_046_07------------------------#'
 
178
######################################################################### 
 
179
#     Check if the value in SESSION Table matches value in variable     #
 
180
#########################################################################
 
181
 
 
182
SELECT @@session.innodb_table_locks =
 
183
 VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
 
184
  WHERE VARIABLE_NAME='innodb_table_locks';
 
185
SELECT @@session.innodb_table_locks;
 
186
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
 
187
 WHERE VARIABLE_NAME='innodb_table_locks';
 
188
 
 
189
 
 
190
--echo '#---------------------FN_DYNVARS_046_08-------------------------#'
 
191
################################################################### 
 
192
#        Check if ON and OFF values can be used on variable       #
 
193
################################################################### 
 
194
 
 
195
SET @@session.innodb_table_locks = OFF;
 
196
SELECT @@session.innodb_table_locks;
 
197
SET @@session.innodb_table_locks = ON;
 
198
SELECT @@session.innodb_table_locks;
 
199
 
 
200
SET @@global.innodb_table_locks = OFF;
 
201
SELECT @@global.innodb_table_locks;
 
202
SET @@global.innodb_table_locks = ON;
 
203
SELECT @@global.innodb_table_locks;
 
204
 
 
205
--echo '#---------------------FN_DYNVARS_046_09----------------------#'
 
206
################################################################### 
 
207
#      Check if TRUE and FALSE values can be used on variable     #
 
208
################################################################### 
 
209
 
 
210
SET @@session.innodb_table_locks = TRUE;
 
211
SELECT @@session.innodb_table_locks;
 
212
SET @@session.innodb_table_locks = FALSE;
 
213
SELECT @@session.innodb_table_locks;
 
214
 
 
215
SET @@global.innodb_table_locks = TRUE;
 
216
SELECT @@global.innodb_table_locks;
 
217
SET @@global.innodb_table_locks = FALSE;
 
218
SELECT @@global.innodb_table_locks;
 
219
 
 
220
##############################  
 
221
#   Restore initial value    #
 
222
##############################
 
223
 
 
224
SET @@session.innodb_table_locks = @session_start_value;
 
225
SELECT @@session.innodb_table_locks;
 
226
 
 
227
SET @@global.innodb_table_locks = @global_start_value;
 
228
SELECT @@global.innodb_table_locks;
 
229
 
 
230
###############################################################
 
231
#                    END OF innodb_table_locks TESTS          #
 
232
###############################################################