mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-24 07:13:33 +03:00 
			
		
		
		
	Made sure that no subpartition stuff in non-subpartitioned table mysql-test/r/partition.result: New test case mysql-test/r/partition_mgm_err.result: Fixed bug in test case mysql-test/t/partition.test: New test case mysql-test/t/partition_mgm_err.test: Fixed bug in test case sql/sql_partition.cc: Made sure that no subpartition stuff in non-subpartitioned table
		
			
				
	
	
		
			151 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			6.0 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 reorganise 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 reorganising 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
 | |
| 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 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
 |