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)
							 | 
						||
| 
								 | 
							
								);
							 |