mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			171 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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: Wrong partition name or partition list
 | |
| ALTER TABLE t1 DROP PARTITION x0, x1, x2, x10;
 | |
| ERROR HY000: Wrong partition name or partition list
 | |
| ALTER TABLE t1 DROP PARTITION x10, x1, x2, x1;
 | |
| ERROR HY000: Wrong partition name or partition list
 | |
| ALTER TABLE t1 DROP PARTITION x10, x1, x2, x3;
 | |
| ERROR HY000: Wrong partition name or partition list
 | |
| 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: Wrong partition name or partition list
 | |
| 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: VALUES LESS THAN value must be strictly increasing for each partition
 | |
| 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 8192;
 | |
| 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: Wrong partition name or partition list
 | |
| 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 COLLATE=latin1_swedish_ci
 | |
| 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 COLLATE=latin1_swedish_ci
 | |
|  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
 | |
| # End of 5.5 tests
 | |
| #
 | |
| # MDEV-32155 MariaDB Server crashes with ill-formed partitions
 | |
| #
 | |
| create table t1 (c1 set ( 'abc' ) binary unicode) partition by linear hash (c1 mod c1) partitions 10;
 | |
| alter table t1 check partition all for upgrade;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| alter table t1 order by nonexistent;
 | |
| ERROR 42S22: Unknown column 'nonexistent' in 'ORDER BY'
 | |
| drop table t1;
 | |
| # End of 10.5 tests
 | 
