86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | --disable_abort_on_error | ||
|  | # Run this test only when mysqld don't has partitioning (not compiled with) | ||
|  | # the statements are not expected to work, just check that we | ||
|  | # can't crash the server | ||
|  | -- require r/not_partition.require | ||
|  | disable_query_log; | ||
|  | show variables like "have_partitioning"; | ||
|  | enable_query_log; | ||
|  | --disable_warnings | ||
|  | DROP TABLE IF EXISTS t1; | ||
|  | --enable_warnings | ||
|  | let $MYSQLD_DATADIR= `SELECT @@datadir`; | ||
|  | 
 | ||
|  | # | ||
|  | # Bug#39893: Crash if select on a partitioned table, | ||
|  | #            when partitioning is disabled | ||
|  | FLUSH TABLES; | ||
|  | --copy_file $MYSQLTEST_VARDIR/std_data/parts/t1.frm $MYSQLD_DATADIR/test/t1.frm | ||
|  | SELECT * FROM t1; | ||
|  | TRUNCATE TABLE t1; | ||
|  | ANALYZE TABLE t1; | ||
|  | CHECK TABLE t1; | ||
|  | OPTIMIZE TABLE t1; | ||
|  | REPAIR TABLE t1; | ||
|  | ALTER TABLE t1 REPAIR PARTITION ALL; | ||
|  | ALTER TABLE t1 CHECK PARTITION ALL; | ||
|  | ALTER TABLE t1 OPTIMIZE PARTITION ALL; | ||
|  | ALTER TABLE t1 ANALYZE PARTITION ALL; | ||
|  | ALTER TABLE t1 REBUILD PARTITION ALL; | ||
|  | ALTER TABLE t1 ENGINE Memory; | ||
|  | ALTER TABLE t1 ADD (new INT); | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | --error ER_FEATURE_DISABLED | ||
|  | CREATE TABLE t1 ( | ||
|  |     firstname VARCHAR(25) NOT NULL, | ||
|  |     lastname VARCHAR(25) NOT NULL, | ||
|  |     username VARCHAR(16) NOT NULL, | ||
|  |     email VARCHAR(35), | ||
|  |     joined DATE NOT NULL | ||
|  | ) | ||
|  | PARTITION BY KEY(joined) | ||
|  | PARTITIONS 6; | ||
|  | 
 | ||
|  | --error ER_FEATURE_DISABLED | ||
|  | ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2; | ||
|  | 
 | ||
|  | --error ER_BAD_TABLE_ERROR | ||
|  | drop table t1; | ||
|  | 
 | ||
|  | --error ER_FEATURE_DISABLED | ||
|  | CREATE TABLE t1 ( | ||
|  |     firstname VARCHAR(25) NOT NULL, | ||
|  |     lastname VARCHAR(25) NOT NULL, | ||
|  |     username VARCHAR(16) NOT NULL, | ||
|  |     email VARCHAR(35), | ||
|  |     joined DATE NOT NULL | ||
|  | ) | ||
|  | PARTITION BY RANGE( YEAR(joined) ) ( | ||
|  |     PARTITION p0 VALUES LESS THAN (1960), | ||
|  |     PARTITION p1 VALUES LESS THAN (1970), | ||
|  |     PARTITION p2 VALUES LESS THAN (1980), | ||
|  |     PARTITION p3 VALUES LESS THAN (1990), | ||
|  |     PARTITION p4 VALUES LESS THAN MAXVALUE | ||
|  | ); | ||
|  | --error ER_BAD_TABLE_ERROR | ||
|  | drop table t1; | ||
|  | 
 | ||
|  | --error ER_FEATURE_DISABLED | ||
|  | CREATE TABLE t1 (id INT, purchased DATE) | ||
|  |     PARTITION BY RANGE( YEAR(purchased) ) | ||
|  |     SUBPARTITION BY HASH( TO_DAYS(purchased) ) | ||
|  |     SUBPARTITIONS 2 ( | ||
|  |         PARTITION p0 VALUES LESS THAN (1990), | ||
|  |         PARTITION p1 VALUES LESS THAN (2000), | ||
|  |         PARTITION p2 VALUES LESS THAN MAXVALUE | ||
|  |     ); | ||
|  | --error ER_BAD_TABLE_ERROR | ||
|  | drop table t1; | ||
|  | 
 | ||
|  | # Create a table without partitions to test "EXPLAIN PARTITIONS" | ||
|  | create table t1 (a varchar(10) charset latin1 collate latin1_bin); | ||
|  | insert into t1 values (''),(' '),('a'),('a '),('a  '); | ||
|  | explain partitions select * from t1 where a='a ' OR a='a'; | ||
|  | drop table t1; |