diff options
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"); } } |
