Преглед на файлове

SqliteItemRepository: Parse ChannelId directly from utf-8 data

Bond_009 преди 4 години
родител
ревизия
34313ef216
променени са 1 файла, в които са добавени 9 реда и са изтрити 1 реда
  1. 9 1
      Emby.Server.Implementations/Data/SqliteItemRepository.cs

+ 9 - 1
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -1,6 +1,7 @@
 #pragma warning disable CS1591
 
 using System;
+using System.Buffers.Text;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
@@ -1311,7 +1312,14 @@ namespace Emby.Server.Implementations.Data
 
             if (!reader.IsDBNull(index))
             {
-                item.ChannelId = new Guid(reader.GetString(index));
+                if (!Utf8Parser.TryParse(reader[index].ToBlob(), out Guid value, out _, standardFormat: 'N'))
+                {
+                    var str = reader.GetString(index);
+                    Logger.LogWarning("{ChannelId} isn't in the expected format", str);
+                    value = new Guid(str);
+                }
+
+                item.ChannelId = value;
             }
 
             index++;