Skip to content

Commit 471d28e

Browse files
author
Daniele Briggi
committed
fix(engine): ensure connection is closed properly and add destructor
1 parent 2d22ad5 commit 471d28e

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

src/sqlite_rag/engine.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,13 @@ def extract_document_title(
241241

242242
def close(self):
243243
"""Close the database connection."""
244-
try:
245-
self._conn.execute("SELECT llm_model_free();")
246-
except sqlite3.ProgrammingError:
247-
# When connection is already closed the model
248-
# is already freed.
249-
pass
244+
if self._conn:
245+
try:
246+
self._conn.execute("SELECT llm_model_free();")
247+
except sqlite3.ProgrammingError:
248+
# When connection is already closed the model
249+
# is already freed.
250+
pass
251+
252+
def __del__(self):
253+
self.close()

src/sqlite_rag/sqliterag.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,9 @@ def quantize_cleanup(self) -> None:
294294

295295
def close(self) -> None:
296296
"""Free up resources"""
297+
self._engine.close()
297298
if self._conn:
298-
self._engine.close()
299299
self._conn.close()
300+
301+
def __del__(self):
302+
self.close()

0 commit comments

Comments
 (0)