blob: e388c2dc5fd2c5cfe251cc6be6b5cf486b17b800 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
SET DEFAULT_STORAGE_ENGINE = 'tokudb';
# Establish connection conn1 (user = root)
DROP TABLE IF EXISTS foo;
set session transaction isolation level repeatable read;
create table foo (a int, b int, primary key (a), key (b))engine=TokuDB;
show create table foo;
Table Create Table
foo CREATE TABLE `foo` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `b` (`b`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1 `compression`='tokudb_zlib'
insert into foo values (100,100);
begin;
insert into foo values (1,100);
set session transaction isolation level repeatable read;
begin;
# should NOT see (1,100)
select * from foo;
a b
100 100
# should be empty
select * from foo where a=1;
a b
# should fail with a lock wait timeout
insert into foo values (1,1000);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
# should return two values
select * from foo;
a b
1 100
100 100
# should be empty
select * from foo where a=1;
a b
# should fail with a dup entry
insert into foo values (1,1000);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
commit;
set session transaction isolation level serializable;
DROP TABLE foo;
|