diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2020-02-10 14:31:39 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2020-02-10 14:31:39 +0100 |
commit | 594282a534ed6b3693e9d86668fb1ee55a311aab (patch) | |
tree | c93d7d6110ff853d2ec0d27b9cbd30a76eca2fcc /storage/innobase | |
parent | b08579aa28d979e9e45239ff507c22a3399c92a7 (diff) | |
parent | 716161ea03c5018f308017dd9279731a322e26bc (diff) | |
download | mariadb-git-594282a534ed6b3693e9d86668fb1ee55a311aab.tar.gz |
Merge branch '10.1' into 10.2
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/row/row0mysql.cc | 16 | ||||
-rw-r--r-- | storage/innobase/srv/srv0srv.cc | 6 |
2 files changed, 19 insertions, 3 deletions
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc index 0aa05a702f3..a437c8d5ff1 100644 --- a/storage/innobase/row/row0mysql.cc +++ b/storage/innobase/row/row0mysql.cc @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 2000, 2018, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2015, 2019, MariaDB Corporation. +Copyright (c) 2015, 2020, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -3056,6 +3056,16 @@ row_discard_tablespace_for_mysql( err = DB_ERROR; } else { + bool fts_exist = (dict_table_has_fts_index(table) + || DICT_TF2_FLAG_IS_SET( + table, DICT_TF2_FTS_HAS_DOC_ID)); + + if (fts_exist) { + row_mysql_unlock_data_dictionary(trx); + fts_optimize_remove_table(table); + row_mysql_lock_data_dictionary(trx); + } + /* Do foreign key constraint checks. */ err = row_discard_tablespace_foreign_key_checks(trx, table); @@ -3063,6 +3073,10 @@ row_discard_tablespace_for_mysql( if (err == DB_SUCCESS) { err = row_discard_tablespace(trx, table); } + + if (fts_exist && err != DB_SUCCESS) { + fts_optimize_add_table(table); + } } return(row_discard_tablespace_end(trx, table, err)); diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index 2c33496ca52..44c07693e6a 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -3,7 +3,7 @@ Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2009, Percona Inc. -Copyright (c) 2013, 2019, MariaDB Corporation. +Copyright (c) 2013, 2020, MariaDB Corporation. Portions of this file contain modifications contributed and copyrighted by Google, Inc. Those modifications are gratefully acknowledged and are described @@ -507,7 +507,9 @@ current_time % 60 == 0 and no tasks will be performed when current_time % 5 != 0. */ # define SRV_MASTER_CHECKPOINT_INTERVAL (7) -# define SRV_MASTER_PURGE_INTERVAL (10) +#ifdef MEM_PERIODIC_CHECK +# define SRV_MASTER_MEM_VALIDATE_INTERVAL (13) +#endif /* MEM_PERIODIC_CHECK */ # define SRV_MASTER_DICT_LRU_INTERVAL (47) /** Simulate compression failures. */ |