summaryrefslogtreecommitdiff
path: root/storage/innobase/fts/fts0opt.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-08-31 13:54:06 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-08-31 13:54:06 +0300
commit6a2cd6f4b406cc3167799f589af1b96c4cd6943c (patch)
tree214cb5141d28f0061e564a1e137b8137b0364776 /storage/innobase/fts/fts0opt.cc
parent82b7c561b7919fa24e3d24b3f04a16046e24374f (diff)
downloadmariadb-git-6a2cd6f4b406cc3167799f589af1b96c4cd6943c.tar.gz
MDEV-19505 Do not hold mutex while calling que_graph_free()
sym_tab_free_private(): Do not call dict_table_close(), but simply invoke dict_table_t::release(), which we can do without locking the whole dictionary cache. (Note: On user tables it may still be necessary to invoke dict_table_close(), so that InnoDB persistent statistics will be deinitialized as expected.) fts_check_corrupt(), row_fts_merge_insert(): Invoke aux_table->release() to simplify the code. This is never a user table. fts_que_graph_free(), fts_que_graph_free_check_lock(): Replaced with que_graph_free(). Reviewed by: Thirunarayanan Balathandayuthapani
Diffstat (limited to 'storage/innobase/fts/fts0opt.cc')
-rw-r--r--storage/innobase/fts/fts0opt.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/storage/innobase/fts/fts0opt.cc b/storage/innobase/fts/fts0opt.cc
index 2fcbf9b28e3..7f7c23aee8f 100644
--- a/storage/innobase/fts/fts0opt.cc
+++ b/storage/innobase/fts/fts0opt.cc
@@ -892,7 +892,7 @@ fts_index_fetch_words(
}
}
- fts_que_graph_free(graph);
+ que_graph_free(graph);
/* Check if max word to fetch is exceeded */
if (optim->zip->n_words >= n_words) {
@@ -1005,7 +1005,7 @@ fts_table_fetch_doc_ids(
error = fts_eval_sql(trx, graph);
fts_sql_commit(trx);
- fts_que_graph_free(graph);
+ que_graph_free(graph);
if (error == DB_SUCCESS) {
ib_vector_sort(doc_ids->doc_ids, fts_doc_id_cmp);
@@ -1459,7 +1459,7 @@ fts_optimize_write_word(
" when deleting a word from the FTS index.";
}
- fts_que_graph_free(graph);
+ que_graph_free(graph);
graph = NULL;
/* Even if the operation needs to be rolled back and redone,
@@ -1491,7 +1491,7 @@ fts_optimize_write_word(
}
if (graph != NULL) {
- fts_que_graph_free(graph);
+ que_graph_free(graph);
}
return(error);
@@ -1829,7 +1829,7 @@ fts_optimize_words(
charset, word->f_str,
word->f_len)
&& graph) {
- fts_que_graph_free(graph);
+ que_graph_free(graph);
graph = NULL;
}
}
@@ -1848,7 +1848,7 @@ fts_optimize_words(
}
if (graph != NULL) {
- fts_que_graph_free(graph);
+ que_graph_free(graph);
}
}
@@ -2081,7 +2081,7 @@ fts_optimize_purge_deleted_doc_ids(
}
}
- fts_que_graph_free(graph);
+ que_graph_free(graph);
return(error);
}
@@ -2118,7 +2118,7 @@ fts_optimize_purge_deleted_doc_id_snapshot(
graph = fts_parse_sql(NULL, info, fts_end_delete_sql);
error = fts_eval_sql(optim->trx, graph);
- fts_que_graph_free(graph);
+ que_graph_free(graph);
return(error);
}
@@ -2186,7 +2186,7 @@ fts_optimize_create_deleted_doc_id_snapshot(
error = fts_eval_sql(optim->trx, graph);
- fts_que_graph_free(graph);
+ que_graph_free(graph);
if (error != DB_SUCCESS) {
fts_sql_rollback(optim->trx);