1# Test that clustering keys can be created on partitioned tokudb tables
2
3source include/have_tokudb.inc;
4source include/have_partition.inc;
5set default_storage_engine='tokudb';
6
7disable_warnings;
8DROP TABLE IF EXISTS t;
9enable_warnings;
10
11CREATE TABLE t (a INT NOT NULL AUTO_INCREMENT, b INT, PRIMARY KEY(a), CLUSTERING KEY b(b)) ENGINE=TokuDB
12PARTITION BY RANGE(a) (PARTITION p0 VALUES LESS THAN (100) ENGINE = TokuDB, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TokuDB);
13
14SHOW CREATE TABLE t;
15
16DROP TABLE t;
17
18
19
20CREATE TABLE t (x INT NOT NULL, y INT NOT NULL, PRIMARY KEY(x))
21PARTITION BY HASH(x) PARTITIONS 2;
22
23SHOW CREATE TABLE t;
24
25ALTER TABLE t ADD CLUSTERING KEY(y);
26
27SHOW CREATE TABLE t;
28
29DROP TABLE t;
30
31
32CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
33PARTITION BY RANGE(a) (PARTITION p0 VALUES LESS THAN (5) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TOKUDB);
34
35--source ../include/cluster_key.inc
36
37DROP TABLE t1;
38
39CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
40PARTITION BY RANGE(b) (PARTITION p0 VALUES LESS THAN (50) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TOKUDB);
41
42--source ../include/cluster_key.inc
43
44DROP TABLE t1;
45
46CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
47PARTITION BY RANGE(c) (PARTITION p0 VALUES LESS THAN (500) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TOKUDB);
48
49--source ../include/cluster_key.inc
50
51DROP TABLE t1;
52