forked from tinygrad/tinygrad
fix sqlite3 locks (#5971)
This commit is contained in:
+3
-1
@@ -209,7 +209,9 @@ def db_connection():
|
||||
if _db_connection is None:
|
||||
os.makedirs(CACHEDB.rsplit(os.sep, 1)[0], exist_ok=True)
|
||||
_db_connection = sqlite3.connect(CACHEDB, timeout=60, isolation_level="IMMEDIATE")
|
||||
_db_connection.execute("PRAGMA journal_mode=WAL").fetchone()
|
||||
# another connection has set it already or is in the process of setting it
|
||||
# that connection will lock the database
|
||||
with contextlib.suppress(sqlite3.OperationalError): _db_connection.execute("PRAGMA journal_mode=WAL").fetchone()
|
||||
if DEBUG >= 7: _db_connection.set_trace_callback(print)
|
||||
return _db_connection
|
||||
|
||||
|
||||
Reference in New Issue
Block a user