From 9ca56bd910f91ee19898d9d6ed6394a1a878075c Mon Sep 17 00:00:00 2001 From: chylex Date: Mon, 21 Mar 2022 00:36:29 +0100 Subject: [PATCH] Enable write-ahead log for SQLite connections to prevent blocking concurrent writes and reads --- app/Server/Database/Sqlite/Utils/SqliteConnectionPool.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Server/Database/Sqlite/Utils/SqliteConnectionPool.cs b/app/Server/Database/Sqlite/Utils/SqliteConnectionPool.cs index 4501123..14dfcb4 100644 --- a/app/Server/Database/Sqlite/Utils/SqliteConnectionPool.cs +++ b/app/Server/Database/Sqlite/Utils/SqliteConnectionPool.cs @@ -24,7 +24,14 @@ namespace DHT.Server.Database.Sqlite.Utils { for (int i = 0; i < poolSize; i++) { var conn = new SqliteConnection(connectionString); conn.Open(); - free.Add(new PooledConnection(this, conn)); + + var pooledConn = new PooledConnection(this, conn); + + using (var cmd = pooledConn.Command("PRAGMA journal_mode=WAL")) { + cmd.ExecuteNonQuery(); + } + + free.Add(pooledConn); } used = new List(poolSize);