summaryrefslogtreecommitdiff
path: root/storage/innobase/fts/fts0fts.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-05-03 17:49:26 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-05-03 17:49:26 +0300
commitbc113b873fd11c4404c1e63726bcf9b787f74df7 (patch)
tree6679813ebbc565434a101f4ecb028c8df8e48381 /storage/innobase/fts/fts0fts.cc
parentc844a5881a3a438f2bf8779d32a9f5f88888a1d1 (diff)
downloadmariadb-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.cc5
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);
}