92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								-- source include/have_partition.inc
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS t1;
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug 40389: REORGANIZE PARTITION crashes when only using one partition
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a INT PRIMARY KEY)
							 | 
						||
| 
								 | 
							
								ENGINE MYISAM
							 | 
						||
| 
								 | 
							
								PARTITION BY HASH (a)
							 | 
						||
| 
								 | 
							
								PARTITIONS 1;
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
							 | 
						||
| 
								 | 
							
								ALTER TABLE t1 REORGANIZE PARTITION;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug 21143: mysqld hang when error in number of subparts in
							 | 
						||
| 
								 | 
							
								#            REORGANIZE command
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create table t1 (a int)
							 | 
						||
| 
								 | 
							
								partition by range (a)
							 | 
						||
| 
								 | 
							
								subpartition by key (a)
							 | 
						||
| 
								 | 
							
								(partition p0 values less than (10) (subpartition sp00, subpartition sp01),
							 | 
						||
| 
								 | 
							
								 partition p1 values less than (20) (subpartition sp10, subpartition sp11));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-- error ER_PARTITION_WRONG_NO_SUBPART_ERROR
							 | 
						||
| 
								 | 
							
								alter table t1 reorganize partition p0 into
							 | 
						||
| 
								 | 
							
								(partition p0 values less than (10) (subpartition sp00,
							 | 
						||
| 
								 | 
							
								subpartition sp01, subpartition sp02));
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (f_date DATE, f_varchar VARCHAR(30))
							 | 
						||
| 
								 | 
							
								PARTITION BY HASH(YEAR(f_date)) PARTITIONS 2;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `select @@datadir`;
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYD
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYI
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYD
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p1.MYI
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1.frm
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1.par
							 | 
						||
| 
								 | 
							
								ALTER TABLE t1 COALESCE PARTITION 1;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYD
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1#P#p0.MYI
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1.frm
							 | 
						||
| 
								 | 
							
								-- file_exists $MYSQLD_DATADIR/test/t1.par
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug 20767: REORGANIZE partition crashes
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create table t1 (a int)
							 | 
						||
| 
								 | 
							
								partition by list (a)
							 | 
						||
| 
								 | 
							
								subpartition by hash (a)
							 | 
						||
| 
								 | 
							
								(partition p11 values in (1,2),
							 | 
						||
| 
								 | 
							
								 partition p12 values in (3,4));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								alter table t1 REORGANIZE partition p11, p12 INTO
							 | 
						||
| 
								 | 
							
								(partition p1 values in (1,2,3,4));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								alter table t1 REORGANIZE partition p1 INTO
							 | 
						||
| 
								 | 
							
								(partition p11 values in (1,2),
							 | 
						||
| 
								 | 
							
								 partition p12 values in (3,4));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Verification tests for bug#14326
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a INT)
							 | 
						||
| 
								 | 
							
								/*!50100 PARTITION BY HASH (a)
							 | 
						||
| 
								 | 
							
								/* Test
							 | 
						||
| 
								 | 
							
								   of multi-line
							 | 
						||
| 
								 | 
							
								   comment */
							 | 
						||
| 
								 | 
							
								PARTITIONS 5 */;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a INT)
							 | 
						||
| 
								 | 
							
								/*!50100 PARTITION BY HASH (a)
							 | 
						||
| 
								 | 
							
								-- with a single line comment embedded
							 | 
						||
| 
								 | 
							
								PARTITIONS 5 */;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a INT)
							 | 
						||
| 
								 | 
							
								/*!50100 PARTITION BY HASH (a)
							 | 
						||
| 
								 | 
							
								PARTITIONS 5 */;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a INT) /*!50100 PARTITION BY HASH (a) PARTITIONS 5 */;
							 | 
						||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 |