home · contact · privacy
Cache DB objects to ensure we do not accidentally edit clones.
[plomtask] / plomtask / db.py
index 929a733cc381a6d6d7a2e24feda04a5a014081a7..01bc3e940767eafcd7a3e728a5d73caf7b04aa79 100644 (file)
@@ -2,7 +2,7 @@
 from os.path import isfile
 from difflib import Differ
 from sqlite3 import connect as sql_connect, Cursor
-from typing import Any
+from typing import Any, Dict
 from plomtask.exceptions import HandledException
 
 PATH_DB_SCHEMA = 'scripts/init.sql'
@@ -49,6 +49,10 @@ class DatabaseConnection:
     def __init__(self, db_file: DatabaseFile) -> None:
         self.file = db_file
         self.conn = sql_connect(self.file.path)
+        self.cached_todos: Dict[int, Any] = {}
+        self.cached_days: Dict[str, Any] = {}
+        self.cached_process_steps: Dict[int, Any] = {}
+        self.cached_processes: Dict[int, Any] = {}
 
     def commit(self) -> None:
         """Commit SQL transaction."""