mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
85cc17d3cd
Backport from 6.0 Changed error message to show that it is partitioning that does not support foreign keys yet. Changed spelling from British english to American english. mysql-test/r/partition.result: Bug#36001: Partitions: spelling and using some error messages Backport from 6.0 Changed spelling from British english to American english. mysql-test/r/partition_mgm_err.result: Bug#36001: Partitions: spelling and using some error messages Backport from 6.0 Changed spelling from British english to American english. mysql-test/t/partition.test: Bug#36001: Partitions: spelling and using some error messages Backport from 6.0 Added test for verifying error message sql/share/errmsg.txt: Bug#36001: Partitions: spelling and using some error messages Backport from 6.0 Changed spelling from British english to American english. sql/sql_table.cc: Bug#36001: Partitions: spelling and using some error messages Backport from 6.0 Using a better error message.
160 lines
6.5 KiB
Text
160 lines
6.5 KiB
Text
drop table if exists 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 REORGANIZE PARTITION x0,x1 INTO
|
|
(PARTITION x01 VALUES LESS THAN (2),
|
|
PARTITION x11 VALUES LESS THAN (5));
|
|
ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
|
|
ALTER TABLE t1 DROP PARTITION x0, x1, x2, x3, x3;
|
|
ERROR HY000: Error in list of partitions to DROP
|
|
ALTER TABLE t1 DROP PARTITION x0, x1, x2, x10;
|
|
ERROR HY000: Error in list of partitions to DROP
|
|
ALTER TABLE t1 DROP PARTITION x10, x1, x2, x1;
|
|
ERROR HY000: Error in list of partitions to DROP
|
|
ALTER TABLE t1 DROP PARTITION x10, x1, x2, x3;
|
|
ERROR HY000: Error in list of partitions to DROP
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 INTO
|
|
(PARTITION x11 VALUES LESS THAN (22));
|
|
ERROR HY000: More partitions to reorganize than there are partitions
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO
|
|
(PARTITION x3 VALUES LESS THAN (6));
|
|
ERROR HY000: Duplicate partition name x3
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0, x2 INTO
|
|
(PARTITION x11 VALUES LESS THAN (2));
|
|
ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0, x1, x1 INTO
|
|
(PARTITION x11 VALUES LESS THAN (4));
|
|
ERROR HY000: Error in list of partitions to REORGANIZE
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
|
|
(PARTITION x01 VALUES LESS THAN (5));
|
|
ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
|
|
(PARTITION x01 VALUES LESS THAN (4),
|
|
PARTITION x11 VALUES LESS THAN (2));
|
|
ERROR HY000: Reorganize of range partitions cannot change total ranges except for last partition where it can extend the range
|
|
ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO
|
|
(PARTITION x01 VALUES LESS THAN (6),
|
|
PARTITION x11 VALUES LESS THAN (4));
|
|
ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY KEY (a)
|
|
PARTITIONS 2;
|
|
ALTER TABLE t1 ADD PARTITION (PARTITION p1);
|
|
ERROR HY000: Duplicate partition name p1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY KEY (a)
|
|
(PARTITION x0, PARTITION x1, PARTITION x2, PARTITION x3, PARTITION x3);
|
|
ERROR HY000: Duplicate partition name x3
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY RANGE (a)
|
|
SUBPARTITION BY KEY (a)
|
|
SUBPARTITIONS 2
|
|
(PARTITION x0 VALUES LESS THAN (4),
|
|
PARTITION x1 VALUES LESS THAN (8));
|
|
ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (5)
|
|
(SUBPARTITION sp0, SUBPARTITION sp1));
|
|
ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
|
|
ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (12)
|
|
(SUBPARTITION sp0, SUBPARTITION sp1, SUBPARTITION sp2));
|
|
ERROR HY000: Trying to Add partition(s) with wrong number of subpartitions
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY LIST (a)
|
|
(PARTITION x0 VALUES IN (1,2,3),
|
|
PARTITION x1 VALUES IN (4,5,6));
|
|
ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES IN (3,4));
|
|
ERROR HY000: Multiple definition of same constant in list partitioning
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int);
|
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 DROP PARTITION x1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 COALESCE PARTITION 1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 ANALYZE PARTITION p1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 CHECK PARTITION p1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 OPTIMIZE PARTITION p1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
ALTER TABLE t1 REPAIR PARTITION p1;
|
|
ERROR HY000: Partition management on a not partitioned table is not possible
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY KEY (a)
|
|
(PARTITION x0, PARTITION x1);
|
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 0;
|
|
ERROR HY000: At least one partition must be added
|
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 1024;
|
|
ERROR HY000: Too many partitions (including subpartitions) were defined
|
|
ALTER TABLE t1 DROP PARTITION x0;
|
|
ERROR HY000: DROP PARTITION can only be used on RANGE/LIST partitions
|
|
ALTER TABLE t1 COALESCE PARTITION 1;
|
|
ALTER TABLE t1 COALESCE PARTITION 1;
|
|
ERROR HY000: Cannot remove all partitions, use DROP TABLE instead
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a int)
|
|
PARTITION BY RANGE (a)
|
|
(PARTITION x0 VALUES LESS THAN (4),
|
|
PARTITION x1 VALUES LESS THAN (8));
|
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
|
|
ERROR HY000: For RANGE partitions each partition must be defined
|
|
ALTER TABLE t1 DROP PARTITION x2;
|
|
ERROR HY000: Error in list of partitions to DROP
|
|
ALTER TABLE t1 COALESCE PARTITION 1;
|
|
ERROR HY000: COALESCE PARTITION can only be used on HASH/KEY partitions
|
|
ALTER TABLE t1 DROP PARTITION x1;
|
|
ALTER TABLE t1 DROP PARTITION x0;
|
|
ERROR HY000: Cannot remove all partitions, use DROP TABLE instead
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 ( id INT NOT NULL,
|
|
fname VARCHAR(50) NOT NULL,
|
|
lname VARCHAR(50) NOT NULL,
|
|
hired DATE NOT NULL )
|
|
PARTITION BY RANGE(YEAR(hired)) (
|
|
PARTITION p1 VALUES LESS THAN (1991),
|
|
PARTITION p2 VALUES LESS THAN (1996),
|
|
PARTITION p3 VALUES LESS THAN (2001),
|
|
PARTITION p4 VALUES LESS THAN (2005));
|
|
ALTER TABLE t1 ADD PARTITION (
|
|
PARTITION p5 VALUES LESS THAN (2010),
|
|
PARTITION p6 VALUES LESS THAN MAXVALUE);
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a INT);
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
ALTER TABLE t1 PARTITION BY KEY(a) PARTITIONS 2;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
PARTITIONS 2 */
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (s1 int, s2 int)
|
|
PARTITION BY LIST (s1)
|
|
SUBPARTITION BY KEY (s2) (
|
|
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
|
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
|
);
|
|
ERROR HY000: Duplicate partition name p1b
|