mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
62b2044279
hangs on Linux If REPAIR TABLE ... USE_FRM is issued for table that is located in different than default database server crash could happen. In reopen_name_locked_table take database name from table_list (user specified or default database) instead of from thd (default database). Affects 4.1 only.
58 lines
1.2 KiB
Text
58 lines
1.2 KiB
Text
#
|
|
# Test of repair table
|
|
#
|
|
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
create table t1 SELECT 1,"table 1";
|
|
repair table t1 use_frm;
|
|
alter table t1 ENGINE=HEAP;
|
|
repair table t1 use_frm;
|
|
drop table t1;
|
|
|
|
#
|
|
# disabled keys during repair
|
|
#
|
|
create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st));
|
|
insert into t1 values(1, "One");
|
|
alter table t1 disable keys;
|
|
show keys from t1;
|
|
repair table t1 extended;
|
|
show keys from t1;
|
|
drop table t1;
|
|
|
|
|
|
# non-existent table
|
|
repair table t1 use_frm;
|
|
|
|
create table t1 engine=myisam SELECT 1,"table 1";
|
|
flush tables;
|
|
system echo 1 > $MYSQL_TEST_DIR/var/master-data/test/t1.MYI ;
|
|
repair table t1;
|
|
repair table t1 use_frm;
|
|
drop table t1;
|
|
|
|
#
|
|
# BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1
|
|
#
|
|
CREATE TABLE t1(a INT, KEY(a));
|
|
INSERT INTO t1 VALUES(1),(2),(3),(4),(5);
|
|
SET myisam_repair_threads=2;
|
|
REPAIR TABLE t1;
|
|
SHOW INDEX FROM t1;
|
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and
|
|
# server hangs on Linux
|
|
#
|
|
CREATE TABLE t1(a INT);
|
|
USE mysql;
|
|
REPAIR TABLE test.t1 USE_FRM;
|
|
USE test;
|
|
DROP TABLE t1;
|
|
|
|
# End of 4.1 tests
|