From 81d685b882de369cd42ed8f3dbf78fc6bc0f36df Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 13 Dec 2016 10:44:34 -0500 Subject: update db connections --- .../Data/SqliteUserDataRepository.cs | 28 ++++++++++------------ 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'Emby.Server.Implementations/Data/SqliteUserDataRepository.cs') diff --git a/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs b/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs index 7767ae892..2e39b038a 100644 --- a/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs @@ -42,8 +42,10 @@ namespace Emby.Server.Implementations.Data /// Opens the connection to the database /// /// Task. - public void Initialize(ReaderWriterLockSlim writeLock) + public void Initialize(ReaderWriterLockSlim writeLock, ManagedConnection managedConnection) { + _connection = managedConnection; + WriteLock.Dispose(); WriteLock = writeLock; @@ -90,7 +92,7 @@ namespace Emby.Server.Implementations.Data } } - private void ImportUserDataIfNeeded(IDatabaseConnection connection) + private void ImportUserDataIfNeeded(ManagedConnection connection) { if (!_fileSystem.FileExists(_importFile)) { @@ -117,7 +119,7 @@ namespace Emby.Server.Implementations.Data }, TransactionMode); } - private void ImportUserData(IDatabaseConnection connection, string file) + private void ImportUserData(ManagedConnection connection, string file) { SqliteExtensions.Attach(connection, file, "UserDataBackup"); @@ -300,22 +302,18 @@ namespace Emby.Server.Implementations.Data { using (var connection = CreateConnection(true)) { - return connection.RunInTransaction(db => + using (var statement = connection.PrepareStatement("select key,userid,rating,played,playCount,isFavorite,playbackPositionTicks,lastPlayedDate,AudioStreamIndex,SubtitleStreamIndex from userdata where key =@Key and userId=@UserId")) { - using (var statement = db.PrepareStatement("select key,userid,rating,played,playCount,isFavorite,playbackPositionTicks,lastPlayedDate,AudioStreamIndex,SubtitleStreamIndex from userdata where key =@Key and userId=@UserId")) - { - statement.TryBind("@UserId", userId.ToGuidParamValue()); - statement.TryBind("@Key", key); + statement.TryBind("@UserId", userId.ToGuidParamValue()); + statement.TryBind("@Key", key); - foreach (var row in statement.ExecuteQuery()) - { - return ReadRow(row); - } + foreach (var row in statement.ExecuteQuery()) + { + return ReadRow(row); } + } - return null; - - }, ReadTransactionMode); + return null; } } } -- cgit v1.2.3