aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Data/BaseSqliteRepository.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-11-20 19:58:37 -0500
committerGitHub <noreply@github.com>2016-11-20 19:58:37 -0500
commitb91ebfae1b0a72d3b643221c48932bc45b2612b1 (patch)
treef909f0436c4c8cd571084df18cdc7efb5a6ba922 /Emby.Server.Implementations/Data/BaseSqliteRepository.cs
parenta6ded79ea7d9d4cc9ed8d28b7043aa18c8ec02ae (diff)
parent985c9111cf14431c3e1a1f94953a6d4422d167ee (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.cs29
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");
}
}