1
DROP TABLE IF EXISTS t1;
2
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b,c))
4
PARTITION BY KEY (a,b);
5
insert into t1 values (1,1,1,1);
9
update t1 set d = 2 where a = 1 and b = 1 and c = 1;
17
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b))
20
ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
21
CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY(a,b))
25
(1,1,3),(1,2,3),(1,3,3),(1,4,3),(1,5,3),(1,6,3),
26
(1,7,3),(1,8,3),(1,9,3),(1,10,3),(1,11,3),(1,12,3);
27
select * from t1 order by b;
42
CREATE TABLE t1 (a INT, b CHAR(10) COLLATE latin1_bin, c INT, d INT,
43
PRIMARY KEY (a,b,c) USING HASH)
45
DEFAULT CHARSET=latin1
47
insert into t1 values (1,"a",1,1),(2,"a",1,1),(3,"a",1,1);
54
Number of attributes: 4
55
Number of primary keys: 3
61
TableStatus: Retrieved
62
a Int PRIMARY KEY AT=FIXED ST=MEMORY
63
b Char(10;latin1_bin) PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
64
c Int PRIMARY KEY AT=FIXED ST=MEMORY
65
d Int NULL AT=FIXED ST=MEMORY
67
PRIMARY KEY(a, b, c) - UniqueHashIndex
70
NDBT_ProgramExit: 0 - OK
74
t1 CREATE TABLE `t1` (
75
`a` int(11) NOT NULL DEFAULT '0',
76
`b` char(10) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
77
`c` int(11) NOT NULL DEFAULT '0',
78
`d` int(11) DEFAULT NULL,
79
PRIMARY KEY (`a`,`b`,`c`) USING HASH
80
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (b) */
82
CREATE TABLE t1 (a int not null primary key)
84
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
86
CREATE TABLE t1 (a int not null primary key);
90
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
92
CREATE TABLE t1 (a int not null primary key) ENGINE = NDB;
95
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
97
create table t1 (a int)
100
(partition p0, partition p1);
101
show create table t1;
103
t1 CREATE TABLE `t1` (
104
`a` int(11) DEFAULT NULL
105
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */
106
alter table t1 engine=heap;
107
show create table t1;
109
t1 CREATE TABLE `t1` (
110
`a` int(11) DEFAULT NULL
111
) ENGINE=MEMORY DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY) */
112
alter table t1 engine=ndb;
113
show create table t1;
115
t1 CREATE TABLE `t1` (
116
`a` int(11) DEFAULT NULL
117
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */
118
alter table t1 engine=heap remove partitioning;
119
show create table t1;
121
t1 CREATE TABLE `t1` (
122
`a` int(11) DEFAULT NULL
123
) ENGINE=MEMORY DEFAULT CHARSET=latin1
124
alter table t1 engine=ndb
126
(partition p0, partition p1 engine = ndb);
127
show create table t1;
129
t1 CREATE TABLE `t1` (
130
`a` int(11) DEFAULT NULL
131
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */
134
(partition p0 engine=ndb, partition p1 engine=ndb);
135
show create table t1;
137
t1 CREATE TABLE `t1` (
138
`a` int(11) DEFAULT NULL
139
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */
140
alter table t1 remove partitioning;
141
show create table t1;
143
t1 CREATE TABLE `t1` (
144
`a` int(11) DEFAULT NULL
145
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
148
(partition p0 engine=ndb, partition p1);
152
(partition p0 engine=ndb, partition p1 engine = ndb);
153
show create table t1;
155
t1 CREATE TABLE `t1` (
156
`a` int(11) DEFAULT NULL
157
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) */
160
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
169
PARTITION BY KEY(c3) PARTITIONS 5;
170
ALTER TABLE t1 COALESCE PARTITION 4;
172
CREATE TABLE t1 (a int primary key)
175
ALTER TABLE t1 OPTIMIZE PARTITION p0;
176
ERROR HY000: Table storage engine for 't1' doesn't have this option
177
ALTER TABLE t1 CHECK PARTITION p0;
178
ERROR HY000: Table storage engine for 't1' doesn't have this option
179
ALTER TABLE t1 REPAIR PARTITION p0;
180
ERROR HY000: Table storage engine for 't1' doesn't have this option
181
ALTER TABLE t1 ANALYZE PARTITION p0;
182
ERROR HY000: Table storage engine for 't1' doesn't have this option
183
ALTER TABLE t1 REBUILD PARTITION p0;
184
ERROR HY000: Table storage engine for 't1' doesn't have this option
187
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
192
PARTITION BY KEY(c3) PARTITIONS 5;
193
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
196
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
201
PARTITION BY KEY(c3);
202
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;