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 int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (a), clustering key (b))engine=TokuDB; 13create table bar (a int NOT NULL, b bigint NOT NULL, c mediumint 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 int default 20; 19alter table bar add column d int 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 int default 20 first; 39alter table bar add column d int 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 int NOT NULL, b bigint NOT NULL, c mediumint NOT NULL, primary key (c), clustering key (b))engine=TokuDB; 62create table bar (a int NOT NULL, b bigint NOT NULL, c mediumint 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 int default 20; 68alter table bar add column d int 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 int default 20 first; 88alter table bar add column d int 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