diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-04-29 14:05:44 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-04-29 15:11:06 +0300 |
commit | bdd6e33f00bff927358a7b03798a285ff41b35b7 (patch) | |
tree | 6edda14d2eec21fa40f49801ab35d2e4b0c38d21 | |
parent | 61f370a3c9997d2c7067b8cf5d39c8ad67dde5aa (diff) | |
download | mariadb-git-bdd6e33f00bff927358a7b03798a285ff41b35b7.tar.gz |
MDEV-13626: Add a test case
-rw-r--r-- | mysql-test/suite/innodb/r/page_reorganize.result | 27 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/page_reorganize.test | 56 |
2 files changed, 83 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/page_reorganize.result b/mysql-test/suite/innodb/r/page_reorganize.result new file mode 100644 index 00000000000..1059fc78531 --- /dev/null +++ b/mysql-test/suite/innodb/r/page_reorganize.result @@ -0,0 +1,27 @@ +# +# Bug# 20005279 ASSERT !OTHER_LOCK, LOCK_MOVE_REORGANIZE_PAGE() +# +create table t1 (f1 int auto_increment primary key, +f2 char(255)) engine=innodb; +start transaction; +commit; +start transaction; +select f1, f2 from t1 where f1 = 20 for update; +f1 f2 +20 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +connect con1,localhost,root,,; +select f1 from t1 where f1 = 20 for update; +connection default; +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; +Warnings: +Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead +commit; +connection con1; +f1 +20 +disconnect con1; +connection default; +drop table t1; 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 00000000000..7408353976d --- /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 |