diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-11-20 19:58:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-20 19:58:37 -0500 |
| commit | b91ebfae1b0a72d3b643221c48932bc45b2612b1 (patch) | |
| tree | f909f0436c4c8cd571084df18cdc7efb5a6ba922 /Emby.Server.Implementations/Data/BaseSqliteRepository.cs | |
| parent | a6ded79ea7d9d4cc9ed8d28b7043aa18c8ec02ae (diff) | |
| parent | 985c9111cf14431c3e1a1f94953a6d4422d167ee (diff) | |
Merge pull request #2298 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/Data/BaseSqliteRepository.cs')
| -rw-r--r-- | Emby.Server.Implementations/Data/BaseSqliteRepository.cs | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs index 6c1a96813..c506411d4 100644 --- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs +++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs @@ -12,12 +12,22 @@ namespace Emby.Server.Implementations.Data public abstract class BaseSqliteRepository : IDisposable { protected string DbFilePath { get; set; } - protected ReaderWriterLockSlim WriteLock = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion); + protected ReaderWriterLockSlim WriteLock; + protected ILogger Logger { get; private set; } protected BaseSqliteRepository(ILogger logger) { Logger = logger; + + WriteLock = AllowLockRecursion ? + new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion) : + new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion); + } + + protected virtual bool AllowLockRecursion + { + get { return false; } } protected virtual bool EnableConnectionPooling @@ -33,8 +43,17 @@ namespace Emby.Server.Implementations.Data //CheckOk(rc); } + private static bool _versionLogged; + protected virtual SQLiteDatabaseConnection CreateConnection(bool isReadOnly = false) { + if (!_versionLogged) + { + _versionLogged = true; + Logger.Info("Sqlite version: " + SQLite3.Version); + Logger.Info("Sqlite compiler options: " + string.Join(",", SQLite3.CompilerOptions.ToArray())); + } + ConnectionFlags connectionFlags; //isReadOnly = false; @@ -77,7 +96,7 @@ namespace Emby.Server.Implementations.Data var cacheSize = CacheSize; if (cacheSize.HasValue) { - + } if (EnableExclusiveMode) @@ -197,11 +216,7 @@ namespace Emby.Server.Implementations.Data return; } - connection.ExecuteAll(string.Join(";", new string[] - { - "alter table " + table, - "add column " + columnName + " " + type + " NULL" - })); + connection.Execute("alter table " + table + " add column " + columnName + " " + type + " NULL"); } } |
