diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-05-03 17:49:26 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-05-03 17:49:26 +0300 |
commit | bc113b873fd11c4404c1e63726bcf9b787f74df7 (patch) | |
tree | 6679813ebbc565434a101f4ecb028c8df8e48381 /storage/innobase/fts/fts0fts.cc | |
parent | c844a5881a3a438f2bf8779d32a9f5f88888a1d1 (diff) | |
download | mariadb-git-bc113b873fd11c4404c1e63726bcf9b787f74df7.tar.gz |
MDEV-28465 Some calls to btr_pcur_close() are unnecessary
The function btr_pcur_close() is being invoked on local variables
even when no cleanup needs to be done. In particular, for B-tree
indexes (not SPATIAL INDEX), unless btr_pcur_store_position()
was invoked in the past, there is no need to invoke btr_pcur_close().
On purge and rollback, we will retain btr_pcur_close(&pcur)
because otherwise some ./mtr --suite=innodb_gis tests would leak memory.
Diffstat (limited to 'storage/innobase/fts/fts0fts.cc')
-rw-r--r-- | storage/innobase/fts/fts0fts.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc index c3d076b81d6..fd8826af2c5 100644 --- a/storage/innobase/fts/fts0fts.cc +++ b/storage/innobase/fts/fts0fts.cc @@ -3494,13 +3494,13 @@ fts_add_doc_by_id( } if (!is_id_cluster) { - btr_pcur_close(doc_pcur); + ut_free(doc_pcur->old_rec_buf); } } func_exit: mtr_commit(&mtr); - btr_pcur_close(&pcur); + ut_free(pcur.old_rec_buf); mem_heap_free(heap); return(TRUE); @@ -3581,7 +3581,6 @@ fts_get_max_doc_id( } func_exit: - btr_pcur_close(&pcur); mtr_commit(&mtr); return(doc_id); } |