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