161 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			161 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								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
							 |