GIF89a;
Direktori : /usr/share/mysql-test/t/ |
Current File : //usr/share/mysql-test/t/partition_disabled.test |
--disable_abort_on_error # Run this test only when mysqld has partitioning, but it is disabled. # The statements are not expected to work, just check that we # can't crash the server. disable_query_log; --require r/true.require SELECT (plugin_status = 'DISABLED') AS `TRUE` FROM information_schema.plugins WHERE plugin_name LIKE 'partition%'; 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_OPTION_PREVENTS_STATEMENT 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_OPTION_PREVENTS_STATEMENT ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2; --error ER_BAD_TABLE_ERROR drop table t1; --error ER_OPTION_PREVENTS_STATEMENT 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_OPTION_PREVENTS_STATEMENT 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; --echo # --echo # bug#11760213-52599: ALTER TABLE REMOVE PARTITIONING ON NON-PARTITIONED --echo # TABLE CORRUPTS MYISAM --disable_warnings DROP TABLE if exists `t1`; --enable_warnings CREATE TABLE `t1`(`a` INT)ENGINE=myisam; ALTER TABLE `t1` ADD COLUMN `b` INT; CREATE UNIQUE INDEX `i1` ON `t1`(`b`); CREATE UNIQUE INDEX `i2` ON `t1`(`a`); ALTER TABLE `t1` ADD PRIMARY KEY (`a`); --error ER_OPTION_PREVENTS_STATEMENT ALTER TABLE `t1` REMOVE PARTITIONING; CHECK TABLE `t1` EXTENDED; DROP TABLE t1;