1--source include/have_tokudb.inc
2SET DEFAULT_STORAGE_ENGINE='tokudb';
3
4--disable_warnings
5DROP TABLE IF EXISTS foo,bar;
6--enable_warnings
7
8set session tokudb_disable_slow_alter=ON;
9
10let $diff_tables= test.foo, test.bar;
11
12create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (a), clustering key (b))engine=TokuDB;
13create table bar (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (a), key (b))engine=MyISAM;
14
15insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
16insert into bar select * from foo;
17
18alter table foo add column d varchar(10) default 20;
19alter table bar add column d varchar(10) default 20;
20source include/diff_tables.inc;
21select * from foo;
22select * from foo order by b desc;
23insert into foo values (3,30,300,3000);
24insert into bar values (3,30,300,3000);
25select * from foo;
26select * from foo order by b desc;
27
28alter table foo drop column d;
29alter table bar drop column d;
30source include/diff_tables.inc;
31select * from foo;
32select * from foo order by b desc;
33insert into foo values (4,40,400);
34insert into bar values (4,40,400);
35select * from foo;
36select * from foo order by b desc;
37
38alter table foo add column d varchar(10) default 20 first;
39alter table bar add column d varchar(10) default 20 first;
40source include/diff_tables.inc;
41select * from foo;
42select * from foo order by b desc;
43insert into foo values (5,50,500,5000);
44insert into bar values (5,50,500,5000);
45select * from foo;
46select * from foo order by b desc;
47
48alter table foo drop column d;
49alter table bar drop column d;
50source include/diff_tables.inc;
51select * from foo;
52select * from foo order by b desc;
53insert into foo values (6,60,600);
54insert into bar values (6,60,600);
55select * from foo;
56select * from foo order by b desc;
57
58drop table foo;
59drop table bar;
60
61create table foo (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (c), clustering key (b))engine=TokuDB;
62create table bar (a varchar(10) NOT NULL, b varchar(10) NOT NULL, c varchar(10) NOT NULL, primary key (c), key (b))engine=MyISAM;
63
64insert into foo values (1,10,100),(-1,-1,-1),(2,20,200);
65insert into bar select * from foo;
66
67alter table foo add column d varchar(10) default 20;
68alter table bar add column d varchar(10) default 20;
69source include/diff_tables.inc;
70select * from foo;
71select * from foo order by b desc;
72insert into foo values (3,30,300,3000);
73insert into bar values (3,30,300,3000);
74select * from foo;
75select * from foo order by b desc;
76
77alter table foo drop column d;
78alter table bar drop column d;
79source include/diff_tables.inc;
80select * from foo;
81select * from foo order by b desc;
82insert into foo values (4,40,400);
83insert into bar values (4,40,400);
84select * from foo;
85select * from foo order by b desc;
86
87alter table foo add column d varchar(10) default 20 first;
88alter table bar add column d varchar(10) default 20 first;
89source include/diff_tables.inc;
90select * from foo;
91select * from foo order by b desc;
92insert into foo values (5,50,500,5000);
93insert into bar values (5,50,500,5000);
94select * from foo;
95select * from foo order by b desc;
96
97alter table foo drop column d;
98alter table bar drop column d;
99source include/diff_tables.inc;
100select * from foo;
101select * from foo order by b desc;
102insert into foo values (6,60,600);
103insert into bar values (6,60,600);
104select * from foo;
105select * from foo order by b desc;
106
107drop table foo;
108drop table bar;
109
110