diff options
Diffstat (limited to 'Emby.Server.Implementations/Activity/ActivityRepository.cs')
| -rw-r--r-- | Emby.Server.Implementations/Activity/ActivityRepository.cs | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/Emby.Server.Implementations/Activity/ActivityRepository.cs b/Emby.Server.Implementations/Activity/ActivityRepository.cs index 17aef7268..fda8b949b 100644 --- a/Emby.Server.Implementations/Activity/ActivityRepository.cs +++ b/Emby.Server.Implementations/Activity/ActivityRepository.cs @@ -84,6 +84,9 @@ namespace Emby.Server.Implementations.Activity { using (var connection = CreateConnection(true)) { + var list = new List<ActivityLogEntry>(); + int totalRecordCount = 0; + var commandText = BaseActivitySelectText; var whereClauses = new List<string>(); @@ -120,32 +123,37 @@ namespace Emby.Server.Implementations.Activity commandText += " LIMIT " + limit.Value.ToString(_usCulture); } - var list = new List<ActivityLogEntry>(); + var statementTexts = new List<string>(); + statementTexts.Add(commandText); + statementTexts.Add("select count (Id) from ActivityLogEntries" + whereTextWithoutPaging); - using (var statement = connection.PrepareStatement(commandText)) + connection.RunInTransaction(db => { - if (minDate.HasValue) - { - statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); - } + var statements = PrepareAllSafe(db, string.Join(";", statementTexts.ToArray())).ToList(); - foreach (var row in statement.ExecuteQuery()) + using (var statement = statements[0]) { - list.Add(GetEntry(row)); + if (minDate.HasValue) + { + statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); + } + + foreach (var row in statement.ExecuteQuery()) + { + list.Add(GetEntry(row)); + } } - } - - int totalRecordCount; - using (var statement = connection.PrepareStatement("select count (Id) from ActivityLogEntries" + whereTextWithoutPaging)) - { - if (minDate.HasValue) + using (var statement = statements[1]) { - statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); - } + if (minDate.HasValue) + { + statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); + } - totalRecordCount = statement.ExecuteQuery().SelectScalarInt().First(); - } + totalRecordCount = statement.ExecuteQuery().SelectScalarInt().First(); + } + }, ReadTransactionMode); return new QueryResult<ActivityLogEntry>() { |
