aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-07-15 13:14:20 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-07-15 13:14:20 -0400
commit8627683f183670a1e377fd7a31e94a2800631db3 (patch)
treec915356faaaed36bdb299ef8f42975a3512983f8
parent2e91d69d20e49f971d9890674d3016351ee87ccd (diff)
handle duplicate provider ids
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 5e09c1d0b..ca5742edd 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/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;