diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-04-04 10:13:53 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-04-06 08:56:25 +0300 |
commit | 25d69ea0124941cca54dbf0c2ebb2aa20ab2d6a8 (patch) | |
tree | 4268c3d90c7121c6fa98d5bd3ab23e726dd7df54 /mysql-test/suite/innodb/t/innodb_defragment.test | |
parent | 8d4871a95340dc1b9bac67115ddf77f484de41c6 (diff) | |
download | mariadb-git-25d69ea0124941cca54dbf0c2ebb2aa20ab2d6a8.tar.gz |
MDEV-12198 innodb_defragment=1 crashes server on OPTIMIZE TABLE when FULLTEXT index exists
ha_innobase::defragment_table(): Skip corrupted indexes and
FULLTEXT INDEX. In InnoDB, FULLTEXT INDEX is implemented with
auxiliary tables. We will not defragment them on OPTIMIZE TABLE.
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb_defragment.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb_defragment.test | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/mysql-test/suite/innodb/t/innodb_defragment.test b/mysql-test/suite/innodb/t/innodb_defragment.test index 22b72a4aa6b..d9f5f56316e 100644 --- a/mysql-test/suite/innodb/t/innodb_defragment.test +++ b/mysql-test/suite/innodb/t/innodb_defragment.test @@ -1,17 +1,7 @@ --source include/have_innodb.inc --source include/big_test.inc ---source include/not_valgrind.inc --source include/not_embedded.inc ---disable_warnings -DROP TABLE if exists t1; ---enable_warnings - ---disable_query_log -let $innodb_defragment_n_pages_orig=`select @@innodb_defragment_n_pages`; -let $innodb_defragment_stats_accuracy_orig=`select @@innodb_defragment_stats_accuracy`; ---enable_query_log - set global innodb_defragment_stats_accuracy = 80; # Create table. @@ -47,12 +37,14 @@ delimiter ;// # Populate table. let $i = $data_size; --disable_query_log +BEGIN; while ($i) { eval INSERT INTO t1 VALUES ($data_size + 1 - $i, REPEAT('A', 256)); dec $i; } +COMMIT; --enable_query_log select count(stat_value) from mysql.innodb_index_stats where table_name like '%t1%' and stat_name in ('n_pages_freed'); @@ -161,10 +153,3 @@ select count(stat_value) = 0 from mysql.innodb_index_stats where table_name like DROP PROCEDURE defragment; DROP TABLE t1; - -# reset system ---disable_query_log -EVAL SET GLOBAL innodb_defragment_n_pages = $innodb_defragment_n_pages_orig; -EVAL SET GLOBAL innodb_defragment_stats_accuracy = $innodb_defragment_stats_accuracy_orig; ---enable_query_log - |