mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
127 lines
2.7 KiB
Text
127 lines
2.7 KiB
Text
#
|
|
# test OPTIMIZE and a concurrent SELECT of a MyISAM table
|
|
#
|
|
source include/have_debug_sync.inc;
|
|
--disable_service_connection
|
|
|
|
call mtr.add_suppression(" marked as crashed and should be repaired");
|
|
|
|
create table t1 (a int auto_increment primary key, b text);
|
|
insert t1 (b) select repeat("A", 100);
|
|
insert t1 (b) select repeat("B", 200) from t1;
|
|
insert t1 (b) select repeat("C", 300) from t1;
|
|
|
|
delete from t1 where a < 3;
|
|
explain select a, left(b,10) from t1 order by a;
|
|
select left(b,10), a from t1 order by a;
|
|
|
|
set debug_sync='myisam_before_repair_by_sort wait_for go';
|
|
send optimize table t1;
|
|
|
|
connect (con1,localhost,root,,);
|
|
let $wait_condition=
|
|
select count(*) = 1 from information_schema.processlist
|
|
where state like "%myisam_before_repair_by_sort%";
|
|
--source include/wait_condition.inc
|
|
|
|
send select a, left(b,10) from t1 order by a;
|
|
|
|
connect (con2,localhost,root,,);
|
|
let $wait_condition=
|
|
select count(*) = 1 from information_schema.processlist
|
|
where state = "Waiting for table metadata lock";
|
|
--source include/wait_condition.inc
|
|
|
|
set debug_sync='now signal go';
|
|
|
|
connection default;
|
|
reap;
|
|
|
|
connection con1;
|
|
reap;
|
|
|
|
disconnect con1;
|
|
disconnect con2;
|
|
connection default;
|
|
|
|
drop table t1;
|
|
set debug_sync='reset';
|
|
|
|
--echo # End of 5.5 tests
|
|
|
|
#
|
|
# MDEV-11539 test_if_reopen: Assertion `strcmp(share->unique_file_name,filename) || share->last_version' failed upon select from I_S
|
|
#
|
|
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
|
INSERT t1 VALUES (1);
|
|
LOCK TABLE t1 WRITE;
|
|
OPTIMIZE TABLE t1;
|
|
--disable_result_log
|
|
SELECT * FROM INFORMATION_SCHEMA.TABLES;
|
|
--enable_result_log
|
|
SELECT * FROM t1;
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
|
|
--echo # End of 10.0 tests
|
|
--echo #
|
|
--echo # MDEV-8475 stale .TMM file causes Aria engine to stop serving the table
|
|
--echo #
|
|
create table t1 (pk int primary key, i int) engine=MyISAM;
|
|
insert into t1 values (1,1),(2,2);
|
|
--let $datadir=`SELECT @@datadir`
|
|
|
|
--write_file $datadir/test/t1.TMM
|
|
EOF
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
# Cleanup
|
|
--connection default
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# Test also Aria
|
|
#
|
|
|
|
create table t1 (pk int primary key, i int) engine=aria;
|
|
insert into t1 values (1,1),(2,2);
|
|
--let $datadir=`SELECT @@datadir`
|
|
|
|
--write_file $datadir/test/t1.TMM
|
|
EOF
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
--connect (con1,localhost,root,,)
|
|
SHOW CREATE TABLE t1;
|
|
OPTIMIZE TABLE t1;
|
|
--disconnect con1
|
|
|
|
# Cleanup
|
|
--connection default
|
|
DROP TABLE t1;
|
|
|
|
--enable_service_connection
|
|
|