소스 검색

handle duplicate provider ids

Luke Pulverenti 9 년 전
부모
커밋
8627683f18
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs

+ 8 - 1
MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs

@@ -4179,6 +4179,13 @@ namespace MediaBrowser.Server.Implementations.Persistence
                 throw new ArgumentNullException("values");
             }
 
+            // Just in case there might be case-insensitive duplicates, strip them out now
+            var newValues = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
+            foreach (var pair in values)
+            {
+                newValues[pair.Key] = pair.Value;
+            }
+
             CheckDisposed();
 
             // First delete 
@@ -4187,7 +4194,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
 
             _deleteProviderIdsCommand.ExecuteNonQuery();
 
-            foreach (var pair in values)
+            foreach (var pair in newValues)
             {
                 _saveProviderIdsCommand.GetParameter(0).Value = itemId;
                 _saveProviderIdsCommand.GetParameter(1).Value = pair.Key;