From 566c6bcd3b4fc0c0bd7f817c64aff1eabc0709b7 Mon Sep 17 00:00:00 2001 From: numb3r3 Date: Fri, 26 Aug 2022 20:31:42 +0800 Subject: [PATCH] fix: annlite offsetmapping --- docarray/array/storage/annlite/getsetdel.py | 9 +++++++++ docarray/array/storage/annlite/helper.py | 2 +- docarray/array/storage/annlite/seqlike.py | 5 ----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docarray/array/storage/annlite/getsetdel.py b/docarray/array/storage/annlite/getsetdel.py index 2e37addd47a..584edf63c3a 100644 --- a/docarray/array/storage/annlite/getsetdel.py +++ b/docarray/array/storage/annlite/getsetdel.py @@ -42,6 +42,15 @@ def _set_docs_by_ids(self, ids, docs: Iterable['Document'], mismatch_ids: Dict): def _del_docs_by_ids(self, ids): self._annlite.delete(ids) + def __del__(self) -> None: + if not self._persist: + self._offset2ids.clear() + self._annlite.clear() + + self._annlite.close() + + super().__del__() + def _load_offset2ids(self): self._offsetmapping = OffsetMapping( data_path=self._config.data_path, in_memory=False diff --git a/docarray/array/storage/annlite/helper.py b/docarray/array/storage/annlite/helper.py index c99136c36d1..d5e6a21e7da 100644 --- a/docarray/array/storage/annlite/helper.py +++ b/docarray/array/storage/annlite/helper.py @@ -11,7 +11,7 @@ def __init__( data_path: Optional[Path] = None, in_memory: bool = True, ): - super().__init__(name, data_path, in_memory) + super().__init__(name, data_path, in_memory=in_memory) self.create_table() self._size = None diff --git a/docarray/array/storage/annlite/seqlike.py b/docarray/array/storage/annlite/seqlike.py index 8dc89f3e9be..a5163b63343 100644 --- a/docarray/array/storage/annlite/seqlike.py +++ b/docarray/array/storage/annlite/seqlike.py @@ -24,11 +24,6 @@ def extend(self, values: Iterable['Document']) -> None: def append(self, value: 'Document'): self.extend([value]) - def __del__(self) -> None: - if not self._persist: - self._offset2ids.clear() - self._annlite.clear() - def __eq__(self, other): """In annlite backend, data are considered as identical if configs point to the same database source""" return (