2005-07-18 13:31:02 +02:00
|
|
|
#--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);
|
|
|
|
|
2005-09-20 05:32:07 +02:00
|
|
|
#
|
|
|
|
# Bug 13323: Select count(*) on empty table returns 2
|
|
|
|
#
|
|
|
|
select count(*) from t1;
|
|
|
|
|
2005-09-20 16:29:59 +02:00
|
|
|
#
|
|
|
|
# Test SHOW CREATE TABLE
|
|
|
|
#
|
|
|
|
show create table t1;
|
|
|
|
|
2005-07-18 13:31:02 +02:00
|
|
|
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;
|
2005-09-15 00:15:40 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# 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;
|
|
|
|
|
2005-11-19 02:02:27 +01:00
|
|
|
#
|
|
|
|
# BUG 14524
|
|
|
|
#
|
|
|
|
CREATE TABLE `t1` (
|
|
|
|
`id` int(11) default NULL
|
|
|
|
) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1 PARTITION BY HASH (id) ;
|
|
|
|
SELECT * FROM t1;
|
2005-11-22 00:21:04 +01:00
|
|
|
|
|
|
|
drop table t1;
|
|
|
|
|
2005-12-15 12:24:35 +01:00
|
|
|
#
|
|
|
|
# BUG 15221 (Cannot reorganize with the same name)
|
|
|
|
#
|
|
|
|
create table t1
|
|
|
|
(a int)
|
|
|
|
partition by range (a)
|
|
|
|
( partition p0 values less than(10),
|
|
|
|
partition p1 values less than (20),
|
|
|
|
partition p2 values less than maxvalue);
|
|
|
|
|
|
|
|
alter table t1 reorganise partition p2 into (partition p2 values less than (30));
|
|
|
|
show create table t1;
|
|
|
|
drop table t1;
|
|
|
|
|
|
|
|
CREATE TABLE t1 (a int, b int)
|
|
|
|
PARTITION BY RANGE (a)
|
|
|
|
(PARTITION x0 VALUES LESS THAN (2),
|
|
|
|
PARTITION x1 VALUES LESS THAN (4),
|
|
|
|
PARTITION x2 VALUES LESS THAN (6),
|
|
|
|
PARTITION x3 VALUES LESS THAN (8),
|
|
|
|
PARTITION x4 VALUES LESS THAN (10),
|
|
|
|
PARTITION x5 VALUES LESS THAN (12),
|
|
|
|
PARTITION x6 VALUES LESS THAN (14),
|
|
|
|
PARTITION x7 VALUES LESS THAN (16),
|
|
|
|
PARTITION x8 VALUES LESS THAN (18),
|
|
|
|
PARTITION x9 VALUES LESS THAN (20));
|
|
|
|
|
|
|
|
ALTER TABLE t1 REORGANISE PARTITION x0,x1,x2 INTO
|
|
|
|
(PARTITION x1 VALUES LESS THAN (6));
|
|
|
|
show create table t1;
|
|
|
|
drop table t1;
|