Extract the prefix for MediaAttachment insertions to a static member instead of generating it per-query.

This commit is contained in:
Andrew Mahone 2019-11-05 14:53:46 -05:00
parent cc7741efd4
commit 8505ee9d6c

View file

@ -51,6 +51,19 @@ namespace Emby.Server.Implementations.Data
private readonly TypeMapper _typeMapper; private readonly TypeMapper _typeMapper;
private readonly JsonSerializerOptions _jsonOptions; private readonly JsonSerializerOptions _jsonOptions;
static SqliteItemRepository() {
var queryPrefixText = new StringBuilder();
queryPrefixText.Append("insert into mediaattachments (");
foreach (var column in _mediaAttachmentSaveColumns)
{
queryPrefixText.Append(column);
queryPrefixText.Append(',');
}
queryPrefixText.Length -= 1;
queryPrefixText.Append(") values ");
_mediaAttachmentInsertPrefix = queryPrefixText.ToString();
}
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="SqliteItemRepository"/> class. /// Initializes a new instance of the <see cref="SqliteItemRepository"/> class.
/// </summary> /// </summary>
@ -436,6 +449,7 @@ namespace Emby.Server.Implementations.Data
"Filename", "Filename",
"MIMEType" "MIMEType"
}; };
private static readonly string _mediaAttachmentInsertPrefix;
private static string GetSaveItemCommandText() private static string GetSaveItemCommandText()
{ {
@ -6223,7 +6237,7 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
while (startIndex < attachments.Count) while (startIndex < attachments.Count)
{ {
var insertText = new StringBuilder(string.Format("insert into mediaattachments ({0}) values ", string.Join(",", _mediaAttachmentSaveColumns))); var insertText = new StringBuilder(_mediaAttachmentInsertPrefix);
var endIndex = Math.Min(attachments.Count, startIndex + insertAtOnce); var endIndex = Math.Min(attachments.Count, startIndex + insertAtOnce);