~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: Brian Aker
  • Date: 2011-02-27 09:35:29 UTC
  • mfrom: (2201.1.3 eol)
  • Revision ID: brian@tangent.org-20110227093529-om8rwrtv0mxl8v99
MergeĀ Olaf

Show diffs side-by-side

added added

removed removed

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