diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/page_reorganize.test')
-rw-r--r-- | mysql-test/suite/innodb/t/page_reorganize.test | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/page_reorganize.test b/mysql-test/suite/innodb/t/page_reorganize.test new file mode 100644 index 00000000..74083539 --- /dev/null +++ b/mysql-test/suite/innodb/t/page_reorganize.test @@ -0,0 +1,56 @@ +--source include/have_innodb.inc +--source include/have_innodb_16k.inc +--source include/have_debug.inc + +--source include/count_sessions.inc + +--echo # +--echo # Bug# 20005279 ASSERT !OTHER_LOCK, LOCK_MOVE_REORGANIZE_PAGE() +--echo # + +create table t1 (f1 int auto_increment primary key, + f2 char(255)) engine=innodb; + +let $inc = 50; + +start transaction; +--disable_query_log + +while ($inc) +{ + insert into t1(f2) values (repeat('~', 50)); + dec $inc; +} + +--enable_query_log +commit; + +start transaction; +select f1, f2 from t1 where f1 = 20 for update; + +connect (con1,localhost,root,,); +--send +select f1 from t1 where f1 = 20 for update; + +connection default; + +let $wait_condition= + select count(*) = 1 from information_schema.processlist + where INFO = 'select f1 from t1 where f1 = 20 for update'; + +--source include/wait_condition.inc + +SET @save_dbug = @@debug_dbug; +SET DEBUG_DBUG = '+d,do_page_reorganize,do_lock_reverse_page_reorganize'; +insert into t1(f2) values (repeat('+', 100)); +SET DEBUG = @save_dbug; +commit; + +connection con1; +reap; +disconnect con1; +connection default; + +drop table t1; + +--source include/wait_until_count_sessions.inc |