#--disable_abort_on_error # # Simple test for the partition storage engine # Taken fromm the select test # -- source include/have_partition.inc --disable_warnings drop table if exists t1; --enable_warnings # # Partition by key no partition defined => OK # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a); # # Bug 13323: Select count(*) on empty table returns 2 # select count(*) from t1; # # Test SHOW CREATE TABLE # show create table t1; drop table t1; # # Partition by key no partition, list of fields # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a, b); drop table t1; # # Partition by key specified 3 partitions and defined 3 => ok # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition x1, partition x2, partition x3); drop table t1; # # Partition by key specifying nodegroup # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition x1 nodegroup 0, partition x2 nodegroup 1, partition x3 nodegroup 2); drop table t1; # # Partition by key specifying engine # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition x1 engine myisam, partition x2 engine myisam, partition x3 engine myisam); drop table t1; # # Partition by key specifying tablespace # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3); drop table t1; # # Partition by key list, basic # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 3 (partition x1 values in (1,2,9,4) tablespace ts1, partition x2 values in (3, 11, 5, 7) tablespace ts2, partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); drop table t1; # # Partition by key list, list function # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (b*a) partitions 3 (partition x1 values in (1,2,9,4) tablespace ts1, partition x2 values in (3, 11, 5, 7) tablespace ts2, partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); drop table t1; # # Partition by key list, list function, no spec of #partitions # CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (b*a) (partition x1 values in (1) tablespace ts1, partition x2 values in (3, 11, 5, 7) tablespace ts2, partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3); drop table t1; # # Bug 13154: Insert crashes due to bad calculation of partition id # for PARTITION BY KEY and SUBPARTITION BY KEY # CREATE TABLE t1 ( a int not null) partition by key(a); LOCK TABLES t1 WRITE; insert into t1 values (1); insert into t1 values (2); insert into t1 values (3); insert into t1 values (4); UNLOCK TABLES; drop table t1; # # BUG 14524 # CREATE TABLE `t1` ( `id` int(11) default NULL ) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ; SELECT * FROM t1; drop table t1;