aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Mahone <andrew.mahone@gmail.com>2019-11-04 10:28:33 -0500
committerAndrew Mahone <andrew.mahone@gmail.com>2019-11-04 10:28:33 -0500
commit0dde5e46df13f63158288ce73b98b25a6440de43 (patch)
tree5cdbe6bda80f7b2f3c24f697c35668f921b9696e
parent4573fb5301b02e8b57a15a57f909b1b63d6b3900 (diff)
Flatten using connection in GetMediaAttachments/SaveMediaAttachments
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs39
1 files changed, 17 insertions, 22 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index 2b07844e7..62837933c 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -6169,26 +6169,23 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
cmdText += " order by AttachmentIndex ASC";
- using (var connection = GetConnection(true))
+ var list = new List<MediaAttachment>();
+ using var connection = GetConnection(true);
+ using (var statement = PrepareStatement(connection, cmdText))
{
- var list = new List<MediaAttachment>();
+ statement.TryBind("@ItemId", query.ItemId.ToByteArray());
- using (var statement = PrepareStatement(connection, cmdText))
+ if (query.Index.HasValue)
{
- statement.TryBind("@ItemId", query.ItemId.ToByteArray());
-
- if (query.Index.HasValue)
- {
- statement.TryBind("@AttachmentIndex", query.Index.Value);
- }
-
- foreach (var row in statement.ExecuteQuery()) {
- list.Add(GetMediaAttachment(row));
- }
+ statement.TryBind("@AttachmentIndex", query.Index.Value);
}
- return list;
+ foreach (var row in statement.ExecuteQuery()) {
+ list.Add(GetMediaAttachment(row));
+ }
}
+
+ return list;
}
public void SaveMediaAttachments(Guid id, List<MediaAttachment> attachments, CancellationToken cancellationToken)
@@ -6204,18 +6201,16 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
throw new ArgumentNullException(nameof(attachments));
}
- using (var connection = GetConnection())
+ using var connection = GetConnection();
+ connection.RunInTransaction(db =>
{
- connection.RunInTransaction(db =>
- {
- var itemIdBlob = id.ToByteArray();
+ var itemIdBlob = id.ToByteArray();
- db.Execute("delete from mediaattachments where ItemId=@ItemId", itemIdBlob);
+ db.Execute("delete from mediaattachments where ItemId=@ItemId", itemIdBlob);
- InsertMediaAttachments(itemIdBlob, attachments, db);
+ InsertMediaAttachments(itemIdBlob, attachments, db);
- }, TransactionMode);
- }
+ }, TransactionMode);
}
private void InsertMediaAttachments(byte[] idBlob, List<MediaAttachment> attachments, IDatabaseConnection db)