mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#46086: crash when dropping a partitioned table
and the original engine is disabled Missing check that engine is available. mysql-test/include/not_blackhole.inc: new include file mysql-test/r/partition_not_blackhole.result: new result file mysql-test/std_data/parts/t1_blackhole.frm: blackhole partitioned table .frm file: create table `t1` (`id` int primary key) engine=blackhole partition by key () partitions 1; mysql-test/std_data/parts/t1_blackhole.par: .par file matching blackhole partitioned .frm mysql-test/t/partition_not_blackhole-master.opt: new master-opt to disable blackhole if compiled in. mysql-test/t/partition_not_blackhole.test: New test sql/ha_partition.cc: Added check that engine is available.
This commit is contained in:
1
mysql-test/t/partition_not_blackhole-master.opt
Normal file
1
mysql-test/t/partition_not_blackhole-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--loose-skip-blackhole
|
25
mysql-test/t/partition_not_blackhole.test
Normal file
25
mysql-test/t/partition_not_blackhole.test
Normal file
@ -0,0 +1,25 @@
|
||||
--source include/have_partition.inc
|
||||
--source include/not_blackhole.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#46086: crash when dropping a partitioned table and
|
||||
--echo # the original engine is disabled
|
||||
--echo # Copy a .frm and .par file which was created with:
|
||||
--echo # create table `t1` (`id` int primary key) engine=blackhole
|
||||
--echo # partition by key () partitions 1;
|
||||
--copy_file std_data/parts/t1_blackhole.frm $MYSQLD_DATADIR/test/t1.frm
|
||||
--copy_file std_data/parts/t1_blackhole.par $MYSQLD_DATADIR/test/t1.par
|
||||
SHOW TABLES;
|
||||
--error ER_NOT_FORM_FILE
|
||||
SHOW CREATE TABLE t1;
|
||||
--error ER_BAD_TABLE_ERROR
|
||||
DROP TABLE t1;
|
||||
--list_files $MYSQLD_DATADIR/test t1*
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.frm
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.par
|
Reference in New Issue
Block a user