diff options
| author | Cody Robibero <cody@robibe.ro> | 2023-01-14 14:19:53 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-14 14:19:53 -0700 |
| commit | be206d4ff2d799296764c005d7bbbdb5cff7ee2c (patch) | |
| tree | 4a3f393a8c4aaeac2921a662f681a6f401075f1b /Emby.Server.Implementations/Data/BaseSqliteRepository.cs | |
| parent | 56ef45ebf004cd444066335084111781b983e853 (diff) | |
| parent | 8ff0cb1e9dc0ac53ed099e58efa5366c377e393a (diff) | |
Merge pull request #9044 from Bond-009/db
Diffstat (limited to 'Emby.Server.Implementations/Data/BaseSqliteRepository.cs')
| -rw-r--r-- | Emby.Server.Implementations/Data/BaseSqliteRepository.cs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs index ff9aa4c2a..1d61667f8 100644 --- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs +++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs @@ -61,10 +61,21 @@ 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 journal size limit. <see href="https://www.sqlite.org/pragma.html#pragma_journal_size_limit" />. + /// </summary> + /// <value>The journal size limit.</value> + protected virtual int? JournalSizeLimit => 0; /// <summary> /// Gets the page size. @@ -84,7 +95,7 @@ namespace Emby.Server.Implementations.Data /// </summary> /// <value>The synchronous mode or null.</value> /// <see cref="SynchronousMode"/> - protected virtual SynchronousMode? Synchronous => null; + protected virtual SynchronousMode? Synchronous => SynchronousMode.Normal; /// <summary> /// Gets or sets the write lock. @@ -116,11 +127,21 @@ 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); } + if (JournalSizeLimit.HasValue) + { + WriteConnection.Execute("PRAGMA journal_size_limit=" + (int)JournalSizeLimit.Value); + } + if (Synchronous.HasValue) { WriteConnection.Execute("PRAGMA synchronous=" + (int)Synchronous.Value); |
