summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2016-09-14 15:11:01 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2016-09-14 15:11:01 +0300
commit4133d2940e89f7bef640a3c68ce24c4cc9637d1b (patch)
tree6268af0d748b7927a395fd7cc5b95e5b57e3d6eb
parent62ed88017c8a137bd2b57cb55de1badf36f3906a (diff)
downloadmariadb-git-4133d2940e89f7bef640a3c68ce24c4cc9637d1b.tar.gz
Fix crash on innodb_fts.innobase_drop_fts_index_table
We need to pass nonatomic=false (dont allow data dict unlock), because the transaction may hold locks on SYS_* tables from previous calls to fts_drop_table().
-rw-r--r--storage/innobase/fts/fts0fts.cc2
-rw-r--r--storage/innobase/row/row0merge.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc
index 13412ca073a..3451607a37e 100644
--- a/storage/innobase/fts/fts0fts.cc
+++ b/storage/innobase/fts/fts0fts.cc
@@ -1453,7 +1453,7 @@ fts_drop_table(
/* Pass nonatomic=false (dont allow data dict unlock),
because the transaction may hold locks on SYS_* tables from
previous calls to fts_drop_table(). */
- error = row_drop_table_for_mysql(table_name, trx, true, false);
+ error = row_drop_table_for_mysql(table_name, trx, true, false, false);
if (error != DB_SUCCESS) {
ib::error() << "Unable to drop FTS index aux table "
diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc
index 8ab60656171..2ab0e491bd7 100644
--- a/storage/innobase/row/row0merge.cc
+++ b/storage/innobase/row/row0merge.cc
@@ -4590,7 +4590,7 @@ row_merge_drop_table(
ut_a(table->get_ref_count() == 0);
return(row_drop_table_for_mysql(table->name.m_name,
- trx, false, false));
+ trx, false, false, false));
}
/** Write an MLOG_INDEX_LOAD record to indicate in the redo-log