~stewart/haildb/historical

« back to all changes in this revision

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

  • Committer: Stewart Smith
  • Date: 2010-04-14 16:57:03 UTC
  • Revision ID: stewart@flamingspork.com-20100414165703-oegscdguy22kizql
innodb plugin 1.0.6

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
# REPLACE INTO ... SELECT and INSERT INTO ... SELECT should do
 
9
# a consistent read of the source table.
 
10
 
 
11
connect (a,localhost,root,,);
 
12
connect (b,localhost,root,,);
 
13
connection a;
 
14
set session transaction isolation level read committed;
 
15
create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;
 
16
create table t2 like t1;
 
17
insert into t2 values (1),(2),(3),(4),(5),(6),(7);
 
18
set autocommit=0;
 
19
 
 
20
# REPLACE INTO ... SELECT case
 
21
begin;
 
22
# this should not result in any locks on t2.
 
23
replace into t1 select * from t2;
 
24
 
 
25
connection b;
 
26
set session transaction isolation level read committed;
 
27
set autocommit=0;
 
28
# should not cuase a lock wait.
 
29
delete from t2 where a=5;
 
30
commit;
 
31
delete from t2;
 
32
commit;
 
33
connection a;
 
34
commit;
 
35
 
 
36
# INSERT INTO ... SELECT case
 
37
begin;
 
38
# this should not result in any locks on t2.
 
39
insert into t1 select * from t2;
 
40
 
 
41
connection b;
 
42
set session transaction isolation level read committed;
 
43
set autocommit=0;
 
44
# should not cuase a lock wait.
 
45
delete from t2 where a=5;
 
46
commit;
 
47
delete from t2;
 
48
commit;
 
49
connection a;
 
50
commit;
 
51
 
 
52
select * from t1;
 
53
drop table t1;
 
54
drop table t2;
 
55
 
 
56
connection default;
 
57
disconnect a;
 
58
disconnect b;