summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_clustering.test
blob: ad0ef6449d670b05f4243b45bfd3aff3c8aac130 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
--source include/have_tokudb.inc
SET DEFAULT_STORAGE_ENGINE='tokudb';

--disable_warnings
DROP TABLE IF EXISTS foo,bar;
--enable_warnings

set session tokudb_disable_slow_alter=ON;

let $diff_tables= test.foo, test.bar;

create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (a), key (b) clustering=yes)engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;

insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;

alter table foo add column d int default 20;
alter table bar add column d int default 20;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
select * from foo order by b desc;

alter table foo drop column d;
alter table bar drop column d;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
select * from foo order by b desc;

alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
select * from foo order by b desc;

alter table foo drop column d;
alter table bar drop column d;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
select * from foo order by b desc;

drop table foo;
drop table bar;

create table foo (a int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (c), key (b) clustering=yes)engine=TokuDB;
create table bar like foo;
alter table bar engine=MyISAM;

insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
insert into bar select * from foo;

alter table foo add column d int default 20;
alter table bar add column d int default 20;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (3,30,300,3000);
insert into bar values (3,30,300,3000);
select * from foo;
select * from foo order by b desc;

alter table foo drop column d;
alter table bar drop column d;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (4,40,400);
insert into bar values (4,40,400);
select * from foo;
select * from foo order by b desc;

alter table foo add column d int default 20 first;
alter table bar add column d int default 20 first;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (5,50,500,5000);
insert into bar values (5,50,500,5000);
select * from foo;
select * from foo order by b desc;

alter table foo drop column d;
alter table bar drop column d;
source include/diff_tables.inc;
select * from foo;
select * from foo order by b desc;
insert into foo values (6,60,600);
insert into bar values (6,60,600);
select * from foo;
select * from foo order by b desc;

drop table foo;
drop table bar;