aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2023-01-09 00:07:53 +0100
committerBond_009 <bond.009@outlook.com>2023-01-14 21:39:46 +0100
commitab918c6292bb27a0e39f3d54f0f449b97246e59b (patch)
tree23a1c550b6dc42b448dece78f2eb63b74491419f
parent56ef45ebf004cd444066335084111781b983e853 (diff)
Fine tune DB settings
-rw-r--r--Emby.Server.Implementations/Data/BaseSqliteRepository.cs12
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs2
-rw-r--r--Jellyfin.Server/Program.cs4
3 files changed, 11 insertions, 7 deletions
diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
index ff9aa4c2a..230f633a7 100644
--- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
+++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
@@ -61,10 +61,15 @@ namespace Emby.Server.Implementations.Data
protected virtual int? CacheSize => null;
/// <summary>
+ /// Gets the locking mode. <see href="https://www.sqlite.org/pragma.html#pragma_locking_mode" />.
+ /// </summary>
+ protected virtual string LockingMode => "EXCLUSIVE";
+
+ /// <summary>
/// Gets the journal mode. <see href="https://www.sqlite.org/pragma.html#pragma_journal_mode" />.
/// </summary>
/// <value>The journal mode.</value>
- protected virtual string JournalMode => "TRUNCATE";
+ protected virtual string JournalMode => "WAL";
/// <summary>
/// Gets the page size.
@@ -116,6 +121,11 @@ namespace Emby.Server.Implementations.Data
WriteConnection.Execute("PRAGMA cache_size=" + CacheSize.Value);
}
+ if (!string.IsNullOrWhiteSpace(LockingMode))
+ {
+ WriteConnection.Execute("PRAGMA locking_mode=" + LockingMode);
+ }
+
if (!string.IsNullOrWhiteSpace(JournalMode))
{
WriteConnection.Execute("PRAGMA journal_mode=" + JournalMode);
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index 763ff77f1..fb6902c39 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -359,8 +359,6 @@ namespace Emby.Server.Implementations.Data
string[] queries =
{
- "PRAGMA locking_mode=EXCLUSIVE",
-
"create table if not exists TypedBaseItems (guid GUID primary key NOT NULL, type TEXT NOT NULL, data BLOB NULL, ParentId GUID NULL, Path TEXT NULL)",
"create table if not exists AncestorIds (ItemId GUID NOT NULL, AncestorId GUID NOT NULL, AncestorIdText TEXT NOT NULL, PRIMARY KEY (ItemId, AncestorId))",
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index 1506530f0..540375dce 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -273,10 +273,6 @@ namespace Jellyfin.Server
ServicePointManager.Expect100Continue = false;
Batteries_V2.Init();
- if (raw.sqlite3_enable_shared_cache(1) != raw.SQLITE_OK)
- {
- _logger.LogWarning("Failed to enable shared cache for SQLite");
- }
}
/// <summary>