~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysql-test/t/innodb-semi-consistent.test

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-- source include/not_embedded.inc
 
2
-- source include/have_innodb.inc
 
3
 
 
4
--disable_warnings
 
5
drop table if exists t1;
 
6
--enable_warnings
 
7
 
 
8
# basic tests of semi-consistent reads
 
9
 
 
10
connect (a,localhost,root,,);
 
11
connect (b,localhost,root,,);
 
12
connection a;
 
13
set session transaction isolation level read committed;
 
14
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
 
15
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
 
16
set autocommit=0;
 
17
# this should lock the entire table
 
18
select * from t1 where a=3 lock in share mode;
 
19
connection b;
 
20
set session transaction isolation level read committed;
 
21
set autocommit=0;
 
22
-- error ER_LOCK_WAIT_TIMEOUT
 
23
update t1 set a=10 where a=5;
 
24
connection a;
 
25
commit;
 
26
connection b;
 
27
update t1 set a=10 where a=5;
 
28
connection a;
 
29
-- error ER_LOCK_WAIT_TIMEOUT
 
30
select * from t1 where a=2 for update;
 
31
# this should lock the records (1),(2)
 
32
select * from t1 where a=2 limit 1 for update;
 
33
connection b;
 
34
update t1 set a=11 where a=6;
 
35
-- error ER_LOCK_WAIT_TIMEOUT
 
36
update t1 set a=12 where a=2;
 
37
-- error ER_LOCK_WAIT_TIMEOUT
 
38
update t1 set a=13 where a=1;
 
39
connection a;
 
40
commit;
 
41
connection b;
 
42
update t1 set a=14 where a=1;
 
43
commit;
 
44
connection a;
 
45
select * from t1;
 
46
drop table t1;
 
47
 
 
48
connection default;
 
49
disconnect a;
 
50
disconnect b;