diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-11-29 14:47:45 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-29 14:47:45 -0500 |
| commit | 8c2095b24ee3228c0e112ebc3cfcb73e146d2a78 (patch) | |
| tree | 6a83c8132f9eac18c0a0bc2461e191c5c725c3c1 /Emby.Server.Implementations/Data/BaseSqliteRepository.cs | |
| parent | 1d09262963fb1d09f3a04843922a6a7a2f4364b3 (diff) | |
| parent | 456d5e5b760abe46c8dedf08b2465d2bd3ced4af (diff) | |
Merge pull request #2317 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/Data/BaseSqliteRepository.cs')
| -rw-r--r-- | Emby.Server.Implementations/Data/BaseSqliteRepository.cs | 47 |
1 files changed, 31 insertions, 16 deletions
diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs index 308b8356f..e066d02d3 100644 --- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs +++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs @@ -30,6 +30,11 @@ namespace Emby.Server.Implementations.Data get { return false; } } + protected TransactionMode TransactionMode + { + get { return TransactionMode.Immediate; } + } + static BaseSqliteRepository() { SQLite3.EnableSharedCache = false; @@ -62,20 +67,8 @@ namespace Emby.Server.Implementations.Data //Logger.Info("Opening write connection"); } - isReadOnly = false; - - if (isReadOnly) - { - connectionFlags = ConnectionFlags.ReadOnly; - //connectionFlags = ConnectionFlags.Create; - //connectionFlags |= ConnectionFlags.ReadWrite; - } - else - { - connectionFlags = ConnectionFlags.Create; - connectionFlags |= ConnectionFlags.ReadWrite; - } - + connectionFlags = ConnectionFlags.Create; + connectionFlags |= ConnectionFlags.ReadWrite; connectionFlags |= ConnectionFlags.SharedCached; connectionFlags |= ConnectionFlags.NoMutex; @@ -84,6 +77,8 @@ namespace Emby.Server.Implementations.Data if (string.IsNullOrWhiteSpace(_defaultWal)) { _defaultWal = db.Query("PRAGMA journal_mode").SelectScalarString().First(); + + Logger.Info("Default journal_mode for {0} is {1}", DbFilePath, _defaultWal); } var queries = new List<string> @@ -110,7 +105,7 @@ namespace Emby.Server.Implementations.Data //Logger.Info("synchronous: " + db.Query("PRAGMA synchronous").SelectScalarString().First()); //Logger.Info("temp_store: " + db.Query("PRAGMA temp_store").SelectScalarString().First()); - if (!string.Equals(_defaultWal, "wal", StringComparison.OrdinalIgnoreCase)) + /*if (!string.Equals(_defaultWal, "wal", StringComparison.OrdinalIgnoreCase)) { queries.Add("PRAGMA journal_mode=WAL"); @@ -119,7 +114,7 @@ namespace Emby.Server.Implementations.Data db.ExecuteAll(string.Join(";", queries.ToArray())); } } - else if (queries.Count > 0) + else*/ if (queries.Count > 0) { db.ExecuteAll(string.Join(";", queries.ToArray())); } @@ -127,6 +122,26 @@ namespace Emby.Server.Implementations.Data return db; } + protected void RunDefaultInitialization(IDatabaseConnection db) + { + var queries = new List<string> + { + "PRAGMA journal_mode=WAL", + "PRAGMA page_size=4096", + }; + + if (EnableTempStoreMemory) + { + queries.AddRange(new List<string> + { + "pragma default_temp_store = memory", + "pragma temp_store = memory" + }); + } + + db.ExecuteAll(string.Join(";", queries.ToArray())); + } + protected virtual bool EnableTempStoreMemory { get |
