aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Activity/ActivityRepository.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Activity/ActivityRepository.cs')
-rw-r--r--Emby.Server.Implementations/Activity/ActivityRepository.cs44
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>()
{