~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/r/tx_isolation_func.result

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
** Setup **
 
2
SET @session_tx_isolation = @@SESSION.tx_isolation;
 
3
SET @global_tx_isolation = @@GLOBAL.tx_isolation;
 
4
** Connecting con0 using root **
 
5
** Connection con0 **
 
6
SET SESSION AUTOCOMMIT = OFF;
 
7
** Connecting con1 using root **
 
8
** Connection con1 **
 
9
SET SESSION AUTOCOMMIT = OFF;
 
10
** Connection default **
 
11
CREATE TABLE t1 (a int PRIMARY KEY, b int) ENGINE=INNODB;
 
12
INSERT INTO t1 VALUES(2, 2);
 
13
INSERT INTO t1 VALUES(4, 4);
 
14
INSERT INTO t1 VALUES(6, 6);
 
15
INSERT INTO t1 VALUES(8, 8);
 
16
INSERT INTO t1 VALUES(16, 16);
 
17
INSERT INTO t1 VALUES(18, 18);
 
18
INSERT INTO t1 VALUES(20, 20);
 
19
INSERT INTO t1 VALUES(22, 22);
 
20
INSERT INTO t1 VALUES(24, 24);
 
21
'#----------------------------FN_DYNVARS_184_01--------------------------------------#'
 
22
** Connection con0 **
 
23
SET SESSION tx_isolation = 'READ-UNCOMMITTED';
 
24
** Connection con1 **
 
25
SET SESSION tx_isolation = 'READ-UNCOMMITTED';
 
26
** Connection con0 **
 
27
START TRANSACTION;
 
28
SELECT * FROM t1 WHERE a IN (2,4,6,8) FOR UPDATE;
 
29
a       b
 
30
2       2
 
31
4       4
 
32
6       6
 
33
8       8
 
34
UPDATE t1 SET b = 10 WHERE a IN (2,4,6,8);
 
35
** Connection con1 **
 
36
START TRANSACTION;
 
37
SELECT * FROM t1;
 
38
a       b
 
39
2       10
 
40
4       10
 
41
6       10
 
42
8       10
 
43
16      16
 
44
18      18
 
45
20      20
 
46
22      22
 
47
24      24
 
48
INSERT INTO t1 VALUES(1, 1);
 
49
INSERT INTO t1 VALUES(3, 3);
 
50
SELECT * FROM t1;
 
51
a       b
 
52
1       1
 
53
2       10
 
54
3       3
 
55
4       10
 
56
6       10
 
57
8       10
 
58
16      16
 
59
18      18
 
60
20      20
 
61
22      22
 
62
24      24
 
63
COMMIT;
 
64
** Connection con0 **
 
65
DELETE FROM t1 WHERE a = 1 OR a = 3;
 
66
COMMIT;
 
67
'#----------------------------FN_DYNVARS_184_02--------------------------------------#'
 
68
** Connection con0 **
 
69
START TRANSACTION;
 
70
SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE;
 
71
a       b
 
72
2       10
 
73
4       10
 
74
6       10
 
75
8       10
 
76
16      16
 
77
18      18
 
78
20      20
 
79
22      22
 
80
24      24
 
81
UPDATE t1 SET b = 10 WHERE a % 2 = 0;
 
82
** Connection con1 **
 
83
START TRANSACTION;
 
84
SELECT * FROM t1;
 
85
a       b
 
86
2       10
 
87
4       10
 
88
6       10
 
89
8       10
 
90
16      10
 
91
18      10
 
92
20      10
 
93
22      10
 
94
24      10
 
95
INSERT INTO t1 VALUES(23, 23);
 
96
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
97
INSERT INTO t1 VALUES(25, 25);
 
98
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
99
Bug: Only even rows are being locked, error 1205 should'nt have occured
 
100
SELECT * FROM t1;
 
101
a       b
 
102
2       10
 
103
4       10
 
104
6       10
 
105
8       10
 
106
16      10
 
107
18      10
 
108
20      10
 
109
22      10
 
110
24      10
 
111
COMMIT;
 
112
** Connection con0 **
 
113
COMMIT;
 
114
'#----------------------------FN_DYNVARS_184_03--------------------------------------#'
 
115
** Connection con0 **
 
116
SET SESSION tx_isolation = 'READ-COMMITTED';
 
117
** Connection con1 **
 
118
SET SESSION tx_isolation = 'READ-COMMITTED';
 
119
** Connection con0 **
 
120
START TRANSACTION;
 
121
SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE;
 
122
a       b
 
123
2       10
 
124
4       10
 
125
6       10
 
126
8       10
 
127
16      10
 
128
18      10
 
129
20      10
 
130
22      10
 
131
24      10
 
132
UPDATE t1 SET b = 11 WHERE a % 2 = 0;
 
133
** Connection con1 **
 
134
START TRANSACTION;
 
135
SELECT * FROM t1;
 
136
a       b
 
137
2       10
 
138
4       10
 
139
6       10
 
140
8       10
 
141
16      10
 
142
18      10
 
143
20      10
 
144
22      10
 
145
24      10
 
146
INSERT INTO t1 VALUES(5, 5);
 
147
INSERT INTO t1 VALUES(7, 7);
 
148
SELECT * FROM t1;
 
149
a       b
 
150
2       10
 
151
4       10
 
152
5       5
 
153
6       10
 
154
7       7
 
155
8       10
 
156
16      10
 
157
18      10
 
158
20      10
 
159
22      10
 
160
24      10
 
161
COMMIT;
 
162
** Connection con0 **
 
163
COMMIT;
 
164
'#----------------------------FN_DYNVARS_184_04--------------------------------------#'
 
165
** Connection con0 **
 
166
SET SESSION tx_isolation = 'REPEATABLE-READ';
 
167
** Connection con1 **
 
168
SET SESSION tx_isolation = 'REPEATABLE-READ';
 
169
** Connection con0 **
 
170
START TRANSACTION;
 
171
SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE;
 
172
a       b
 
173
2       11
 
174
4       11
 
175
6       11
 
176
8       11
 
177
16      11
 
178
18      11
 
179
20      11
 
180
22      11
 
181
24      11
 
182
UPDATE t1 SET b = 12 WHERE a % 2 = 0;
 
183
** Connection con1 **
 
184
START TRANSACTION;
 
185
SELECT * FROM t1;
 
186
a       b
 
187
2       11
 
188
4       11
 
189
5       5
 
190
6       11
 
191
7       7
 
192
8       11
 
193
16      11
 
194
18      11
 
195
20      11
 
196
22      11
 
197
24      11
 
198
INSERT INTO t1 VALUES(9, 9);
 
199
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
200
INSERT INTO t1 VALUES(13, 13);
 
201
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
202
Expected error "Lock wait timeout"
 
203
SELECT * FROM t1;
 
204
a       b
 
205
2       11
 
206
4       11
 
207
5       5
 
208
6       11
 
209
7       7
 
210
8       11
 
211
16      11
 
212
18      11
 
213
20      11
 
214
22      11
 
215
24      11
 
216
COMMIT;
 
217
** Connection con0 **
 
218
COMMIT;
 
219
'#----------------------------FN_DYNVARS_184_05--------------------------------------#'
 
220
** Connection con0 **
 
221
START TRANSACTION;
 
222
SELECT * FROM t1 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0 FOR UPDATE;
 
223
a       b
 
224
5       5
 
225
7       7
 
226
UPDATE t1 SET b = 13 WHERE a IN (2,4,6,8,10,12,14,16,18,20,22,24,26) = 0;
 
227
** Connection con1 **
 
228
START TRANSACTION;
 
229
SELECT * FROM t1;
 
230
a       b
 
231
2       12
 
232
4       12
 
233
5       5
 
234
6       12
 
235
7       7
 
236
8       12
 
237
16      12
 
238
18      12
 
239
20      12
 
240
22      12
 
241
24      12
 
242
INSERT INTO t1 VALUES(9, 9);
 
243
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
244
INSERT INTO t1 VALUES(13, 13);
 
245
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
246
Expected error "Lock wait timeout"
 
247
SELECT * FROM t1;
 
248
a       b
 
249
2       12
 
250
4       12
 
251
5       5
 
252
6       12
 
253
7       7
 
254
8       12
 
255
16      12
 
256
18      12
 
257
20      12
 
258
22      12
 
259
24      12
 
260
COMMIT;
 
261
** Connection con0 **
 
262
COMMIT;
 
263
'#----------------------------FN_DYNVARS_184_06--------------------------------------#'
 
264
** Connection con0 **
 
265
START TRANSACTION;
 
266
SELECT * FROM t1 WHERE a IN (2,4,6,8) = 0 FOR UPDATE;
 
267
a       b
 
268
5       13
 
269
7       13
 
270
16      12
 
271
18      12
 
272
20      12
 
273
22      12
 
274
24      12
 
275
UPDATE t1 SET b = 14 WHERE a IN (2,4,6,8) = 0;
 
276
** Connection con1 **
 
277
START TRANSACTION;
 
278
SELECT * FROM t1;
 
279
a       b
 
280
2       12
 
281
4       12
 
282
5       13
 
283
6       12
 
284
7       13
 
285
8       12
 
286
16      12
 
287
18      12
 
288
20      12
 
289
22      12
 
290
24      12
 
291
INSERT INTO t1 VALUES(9, 9);
 
292
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
293
INSERT INTO t1 VALUES(13, 13);
 
294
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
295
Expected error "Lock wait timeout"
 
296
SELECT * FROM t1;
 
297
a       b
 
298
2       12
 
299
4       12
 
300
5       13
 
301
6       12
 
302
7       13
 
303
8       12
 
304
16      12
 
305
18      12
 
306
20      12
 
307
22      12
 
308
24      12
 
309
COMMIT;
 
310
** Connection con0 **
 
311
COMMIT;
 
312
'#----------------------------FN_DYNVARS_184_07--------------------------------------#'
 
313
** Connection con0 **
 
314
SET SESSION tx_isolation = 'SERIALIZABLE';
 
315
** Connection con0 **
 
316
SET SESSION tx_isolation = 'SERIALIZABLE';
 
317
** Connection con0 **
 
318
START TRANSACTION;
 
319
SELECT * FROM t1 WHERE a % 2 = 0 FOR UPDATE;
 
320
a       b
 
321
2       12
 
322
4       12
 
323
6       12
 
324
8       12
 
325
16      14
 
326
18      14
 
327
20      14
 
328
22      14
 
329
24      14
 
330
UPDATE t1 SET b = 15 WHERE a % 2 = 0;
 
331
** Connection con0 **
 
332
START TRANSACTION;
 
333
SELECT * FROM t1;
 
334
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
335
INSERT INTO t1 VALUES(15, 15);
 
336
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
337
INSERT INTO t1 VALUES(17, 17);
 
338
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
339
SELECT * FROM t1;
 
340
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
 
341
COMMIT;
 
342
** Connection con0 **
 
343
COMMIT;
 
344
'#----------------------------FN_DYNVARS_184_08--------------------------------------#'
 
345
SET GLOBAL tx_isolation = 'READ-UNCOMMITTED';
 
346
** Connecting con_int1 using root **
 
347
** Connection con_int1 **
 
348
SELECT @@SESSION.tx_isolation;
 
349
@@SESSION.tx_isolation
 
350
READ-UNCOMMITTED
 
351
READ-UNCOMMITTED Expected
 
352
SET SESSION tx_isolation = 'SERIALIZABLE';
 
353
** Connecting con_int2 using root **
 
354
** Connection con_int2 **
 
355
SELECT @@SESSION.tx_isolation;
 
356
@@SESSION.tx_isolation
 
357
READ-UNCOMMITTED
 
358
READ-UNCOMMITTED Expected
 
359
SET SESSION tx_isolation = 'REPEATABLE-READ';
 
360
** Connection con_int2 **
 
361
SELECT @@SESSION.tx_isolation;
 
362
@@SESSION.tx_isolation
 
363
REPEATABLE-READ
 
364
REPEATABLE-READ Expected
 
365
** Connection con_int1 **
 
366
SELECT @@SESSION.tx_isolation;
 
367
@@SESSION.tx_isolation
 
368
SERIALIZABLE
 
369
SERIALIZABLE Expected
 
370
SELECT @@GLOBAL.tx_isolation;
 
371
@@GLOBAL.tx_isolation
 
372
READ-UNCOMMITTED
 
373
READ-UNCOMMITTED Expected
 
374
** Connection default **
 
375
Disconnecting Connections con_int1, con_int2
 
376
SET @@SESSION.tx_isolation = @session_tx_isolation;
 
377
SET @@GLOBAL.tx_isolation = @global_tx_isolation;
 
378
** Connection default **
 
379
Disconnecting Connections con0, con1
 
380
DROP TABLE t1;