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
|
SET DEFAULT_STORAGE_ENGINE='tokudb';
DROP TABLE IF EXISTS foo,bar, foo_isam, bar_isam;
set session tokudb_disable_slow_alter=OFF;
create table foo (aa int, bb int, cc int, dd int, ee int, a int, b varchar(20), c int, d int, e int, primary key (e), key(d), unique key(c), clustering key (b))engine=TokuDB;
create table foo_isam like foo;
alter table foo_isam engine=MyISAM;
create table bar (a int) engine=TokuDB;
create table bar_isam like bar;
alter table bar_isam engine=MyISAM;
insert into foo values (1,10,100,1000,10000,1,"bb",10,100,1000);
insert into foo values (2,20,200,2000,20000,2,"bbb",20,200,2000);
insert into foo values (3,30,300,3000,30000,3,"bbbb",30,300,3000);
insert into foo_isam select * from foo;
alter table foo drop primary key;
alter table foo_isam drop primary key;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo add primary key (e);
alter table foo_isam add primary key (e);
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo drop primary key, add primary key(a);
alter table foo_isam drop primary key, add primary key (a);
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo add fulltext key(b);
ERROR HY000: The used table type doesn't support FULLTEXT indexes
alter table foo add spatial key (aa);
ERROR HY000: The used table type doesn't support SPATIAL indexes
alter table foo alter column cc set default 101010;
alter table foo_isam alter column cc set default 101010;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo alter column cc set default NULL;
alter table foo_isam alter column cc set default NULL;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo alter column cc drop default;
alter table foo_isam alter column cc drop default;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column aa aaa int;
alter table foo_isam change column aa aaa int;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column aaa aa int;
alter table foo_isam change column aaa aa int;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column e epk int;
alter table foo_isam change column e epk int;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column epk e int;
alter table foo_isam change column epk e int;
include/diff_tables.inc [test.foo, test.foo_isam]
show create table foo;
Table Create Table
foo CREATE TABLE `foo` (
`aa` int(11) DEFAULT NULL,
`bb` int(11) DEFAULT NULL,
`cc` int(11),
`dd` int(11) DEFAULT NULL,
`ee` int(11) DEFAULT NULL,
`a` int(11) NOT NULL DEFAULT '0',
`b` varchar(20) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
`d` int(11) DEFAULT NULL,
`e` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `c` (`c`),
KEY `d` (`d`),
CLUSTERING KEY `b` (`b`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
show create table foo_isam;
Table Create Table
foo_isam CREATE TABLE `foo_isam` (
`aa` int(11) DEFAULT NULL,
`bb` int(11) DEFAULT NULL,
`cc` int(11),
`dd` int(11) DEFAULT NULL,
`ee` int(11) DEFAULT NULL,
`a` int(11) NOT NULL DEFAULT '0',
`b` varchar(20) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
`d` int(11) DEFAULT NULL,
`e` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `c` (`c`),
KEY `d` (`d`),
CLUSTERING KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table foo change column aa aa int NOT NULL;
alter table foo_isam change column aa aa int NOT NULL;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column aa aa bigint;
alter table foo_isam change column aa aa bigint;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column aa aa varchar(20);
alter table foo_isam change column aa aa varchar(20);
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo change column aa aa int after cc;
alter table foo_isam change column aa aa int after cc;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo modify column aa int NOT NULL;
alter table foo_isam modify column aa int NOT NULL;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo modify column aa bigint;
alter table foo_isam modify column aa bigint;
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo modify column aa varchar(20);
alter table foo_isam modify column aa varchar(20);
include/diff_tables.inc [test.foo, test.foo_isam]
alter table foo modify column aa int after cc;
alter table foo_isam modify column aa int after cc;
include/diff_tables.inc [test.foo, test.foo_isam]
drop table foo;
drop table bar;
drop table foo_isam;
drop table bar_isam;
|