226 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			226 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | # | ||
|  | # Simple test for the erroneos create statements using the  | ||
|  | # partition storage engine | ||
|  | # | ||
|  | -- source include/have_partition.inc | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | drop table if exists t1; | ||
|  | --enable_warnings | ||
|  | 
 | ||
|  | # | ||
|  | # Try faulty DROP PARTITION and COALESCE PARTITION | ||
|  | # | ||
|  | 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)); | ||
|  | 
 | ||
|  | --error ER_REORG_OUTSIDE_RANGE | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO | ||
|  | (PARTITION x01 VALUES LESS THAN (2), | ||
|  |  PARTITION x11 VALUES LESS THAN (5)); | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 DROP PARTITION x0, x1, x2, x3, x3; | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 DROP PARTITION x0, x1, x2, x10; | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 DROP PARTITION x10, x1, x2, x1; | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 DROP PARTITION x10, x1, x2, x3; | ||
|  | 
 | ||
|  | --error ER_REORG_PARTITION_NOT_EXIST | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 INTO | ||
|  | (PARTITION x11 VALUES LESS THAN (22)); | ||
|  | 
 | ||
|  | --error ER_SAME_NAME_PARTITION | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1,x2 INTO | ||
|  | (PARTITION x3 VALUES LESS THAN (6)); | ||
|  | 
 | ||
|  | --error ER_CONSECUTIVE_REORG_PARTITIONS | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0, x2 INTO | ||
|  | (PARTITION x11 VALUES LESS THAN (2)); | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0, x1, x1 INTO | ||
|  | (PARTITION x11 VALUES LESS THAN (4)); | ||
|  | 
 | ||
|  | --error ER_REORG_OUTSIDE_RANGE | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO | ||
|  | (PARTITION x01 VALUES LESS THAN (5)); | ||
|  | 
 | ||
|  | --error ER_REORG_OUTSIDE_RANGE | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO | ||
|  | (PARTITION x01 VALUES LESS THAN (4), | ||
|  |  PARTITION x11 VALUES LESS THAN (2)); | ||
|  | 
 | ||
|  | --error ER_RANGE_NOT_INCREASING_ERROR | ||
|  | ALTER TABLE t1 REORGANIZE PARTITION x0,x1 INTO | ||
|  | (PARTITION x01 VALUES LESS THAN (6), | ||
|  |  PARTITION x11 VALUES LESS THAN (4)); | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | CREATE TABLE t1 (a int) | ||
|  | PARTITION BY KEY (a) | ||
|  | PARTITIONS 2; | ||
|  | 
 | ||
|  | --error ER_SAME_NAME_PARTITION | ||
|  | ALTER TABLE t1 ADD PARTITION (PARTITION p1); | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | --error ER_SAME_NAME_PARTITION | ||
|  | CREATE TABLE t1 (a int) | ||
|  | PARTITION BY KEY (a) | ||
|  | (PARTITION x0, PARTITION x1, PARTITION x2, PARTITION x3, PARTITION 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)); | ||
|  | 
 | ||
|  | --error ER_RANGE_NOT_INCREASING_ERROR | ||
|  | ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (5) | ||
|  | (SUBPARTITION sp0, SUBPARTITION sp1)); | ||
|  | 
 | ||
|  | --error ER_ADD_PARTITION_SUBPART_ERROR | ||
|  | ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES LESS THAN (12) | ||
|  | (SUBPARTITION sp0, SUBPARTITION sp1, SUBPARTITION sp2)); | ||
|  | 
 | ||
|  | 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)); | ||
|  | 
 | ||
|  | --error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR | ||
|  | ALTER TABLE t1 ADD PARTITION (PARTITION x2 VALUES IN (3,4)); | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | CREATE TABLE t1 (a int); | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 ADD PARTITION PARTITIONS 1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 DROP PARTITION x1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 COALESCE PARTITION 1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 ANALYZE PARTITION p1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 CHECK PARTITION p1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 OPTIMIZE PARTITION p1; | ||
|  | 
 | ||
|  | --error ER_PARTITION_MGMT_ON_NONPARTITIONED | ||
|  | ALTER TABLE t1 REPAIR PARTITION p1; | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | CREATE TABLE t1 (a int) | ||
|  | PARTITION BY KEY (a) | ||
|  | (PARTITION x0, PARTITION x1); | ||
|  | 
 | ||
|  | --error ER_ADD_PARTITION_NO_NEW_PARTITION | ||
|  | ALTER TABLE t1 ADD PARTITION PARTITIONS 0; | ||
|  | 
 | ||
|  | --error ER_TOO_MANY_PARTITIONS_ERROR | ||
|  | ALTER TABLE t1 ADD PARTITION PARTITIONS 1024; | ||
|  | 
 | ||
|  | --error ER_ONLY_ON_RANGE_LIST_PARTITION | ||
|  | ALTER TABLE t1 DROP PARTITION x0; | ||
|  | 
 | ||
|  | ALTER TABLE t1 COALESCE PARTITION 1; | ||
|  | 
 | ||
|  | --error ER_DROP_LAST_PARTITION | ||
|  | ALTER TABLE t1 COALESCE PARTITION 1; | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | CREATE TABLE t1 (a int) | ||
|  | PARTITION BY RANGE (a) | ||
|  | (PARTITION x0 VALUES LESS THAN (4), | ||
|  |  PARTITION x1 VALUES LESS THAN (8)); | ||
|  | 
 | ||
|  | --error ER_PARTITIONS_MUST_BE_DEFINED_ERROR | ||
|  | ALTER TABLE t1 ADD PARTITION PARTITIONS 1; | ||
|  | 
 | ||
|  | --error ER_DROP_PARTITION_NON_EXISTENT | ||
|  | ALTER TABLE t1 DROP PARTITION x2; | ||
|  | 
 | ||
|  | --error ER_COALESCE_ONLY_ON_HASH_PARTITION | ||
|  | ALTER TABLE t1 COALESCE PARTITION 1; | ||
|  | 
 | ||
|  | ALTER TABLE t1 DROP PARTITION x1; | ||
|  | 
 | ||
|  | --error ER_DROP_LAST_PARTITION | ||
|  | ALTER TABLE t1 DROP PARTITION x0; | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | # | ||
|  | # Bug# 16534 - Trying to add multiple partitions crashes server | ||
|  | # | ||
|  | 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; | ||
|  | 
 | ||
|  | # | ||
|  | #BUG 15523 ALTER TABLE ... PARTITION BY does not work | ||
|  | # | ||
|  | CREATE TABLE t1 (a INT); | ||
|  | SHOW CREATE TABLE t1; | ||
|  | ALTER TABLE t1 PARTITION BY KEY(a) PARTITIONS 2; | ||
|  | SHOW CREATE TABLE t1; | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | # | ||
|  | #BUG 15820 create table with 1 partition, doing ALTER TABLE ADD PARTITION fails | ||
|  | # | ||
|  | CREATE TABLE t1 (a INT) PARTITION BY HASH(a); | ||
|  | ALTER TABLE t1 ADD PARTITION PARTITIONS 4; | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | # | ||
|  | #BUG 15408: Partitions: subpartition names are not unique | ||
|  | # | ||
|  | --error ER_SAME_NAME_PARTITION | ||
|  | 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) | ||
|  | ); |