summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb/t/fast_update_key.test
blob: 6ff74d191af2b92e6966ed7861159f75eb508cd6 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
source include/have_tokudb.inc;

set tokudb_enable_fast_update=1;
source ../include/setup_fast_update_upsert.inc;

# must have primary key
create table t (ida int not null,
                idb bigint not null,
                idc tinyint unsigned not null,
                x bigint) engine = tokudb;
replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1;
drop table t;

# must have no clustering keys
create table t (ida int not null,
                idb bigint not null,
                idc tinyint unsigned not null,
                x bigint,
                clustering key(ida,idb,idc)) engine = tokudb;
replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1;
drop table t;

# update field must not be part of any key
create table t (ida int not null,
                idb bigint not null,
                idc tinyint unsigned not null,
                x bigint,
                primary key(ida,idb,idc),
                key(x)) engine = tokudb;
replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1;
drop table t;

# must have no pk prefixed
create table t (id char(32), x bigint, primary key(id(1))) engine = tokudb;
replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where id='hi';
drop table t;

create table t (id varchar(32), x bigint, primary key(id(1))) engine = tokudb;
replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where id='hi';
drop table t;

# test for point updates on compound keys
create table t (ida int not null,
                idb bigint not null,
                idc tinyint unsigned not null,
                x bigint,
                primary key(ida,idb,idc)) engine = tokudb;
insert into t values (1,2,3,0);

replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1;

replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1 and idb=2;

replace_regex /MariaDB/XYZ/ /MySQL/XYZ/;
error ER_UNSUPPORTED_EXTENSION;
update t set x=x+1 where ida=1 and idb=2 or idc=3;

update t set x=x+1 where ida=1 and idb=2 and idc=3;
select * from t;

update t set x=x+1 where idc=3 and ida=1 and idb=2;
select * from t;

drop table t;