summaryrefslogtreecommitdiff
path: root/mysql-test/t/myisam_optimize.test
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-09-18 13:07:31 +0200
committerSergei Golubchik <sergii@pisem.net>2013-09-18 13:07:31 +0200
commit4ec2e9d7eda78d409d1b017ef4d8928fe9055438 (patch)
tree6c3a74a740d3c1c5f3a7d1f8154d8a791b435b3f /mysql-test/t/myisam_optimize.test
parent1a2a9d74fe1256554eceb09bbc6752a6376df87d (diff)
parent197bdbae4db78ba65f3668803bebd3c4a4509ae5 (diff)
downloadmariadb-git-4ec2e9d7eda78d409d1b017ef4d8928fe9055438.tar.gz
5.5 merge and fixes for compiler/test errors
Diffstat (limited to 'mysql-test/t/myisam_optimize.test')
-rw-r--r--mysql-test/t/myisam_optimize.test47
1 files changed, 47 insertions, 0 deletions
diff --git a/mysql-test/t/myisam_optimize.test b/mysql-test/t/myisam_optimize.test
new file mode 100644
index 00000000000..2d630f7dbd0
--- /dev/null
+++ b/mysql-test/t/myisam_optimize.test
@@ -0,0 +1,47 @@
+#
+# test OPTIMIZE and a concurrent SELECT of a MyISAM table
+#
+source include/have_debug_sync.inc;
+
+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;
+