From 04d3175473187dcb33bb135586216a7c985a9f1b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 12 May 2016 22:36:01 -0400 Subject: [PATCH] update name searching --- .../Library/LibraryManager.cs | 17 ++++------------- .../Persistence/SqliteItemRepository.cs | 9 +++------ 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 0c342986f9..1407cdce30 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -933,21 +933,10 @@ namespace MediaBrowser.Server.Implementations.Library Path.Combine(path, validFilename) : Path.Combine(path, subFolderPrefix, validFilename); - var id = GetNewItemId(fullPath, type); - - BaseItem obj; - - if (!_libraryItemsCache.TryGetValue(id, out obj)) - { - obj = CreateItemByName(fullPath, name, id); - - RegisterItem(id, obj); - } - - return obj as T; + return CreateItemByName(fullPath, name); } - private T CreateItemByName(string path, string name, Guid id) + private T CreateItemByName(string path, string name) where T : BaseItem, new() { var isArtist = typeof(T) == typeof(MusicArtist); @@ -970,6 +959,8 @@ namespace MediaBrowser.Server.Implementations.Library } } + var id = GetNewItemId(path, typeof(T)); + var item = GetItemById(id) as T; if (item == null) diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 46cc5d0769..308ca90e0a 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -89,10 +89,6 @@ namespace MediaBrowser.Server.Implementations.Persistence /// /// Initializes a new instance of the class. /// - /// appPaths - /// or - /// jsonSerializer - /// public SqliteItemRepository(IServerConfigurationManager config, IJsonSerializer jsonSerializer, ILogManager logManager) : base(logManager) { @@ -2317,12 +2313,13 @@ namespace MediaBrowser.Server.Implementations.Persistence if (_config.Configuration.SchemaVersion >= 66) { whereClauses.Add("CleanName=@Name"); + cmd.Parameters.Add(cmd, "@Name", DbType.String).Value = query.Name.RemoveDiacritics(); } else { whereClauses.Add("Name=@Name"); + cmd.Parameters.Add(cmd, "@Name", DbType.String).Value = query.Name; } - cmd.Parameters.Add(cmd, "@Name", DbType.String).Value = query.Name; } if (!string.IsNullOrWhiteSpace(query.NameContains)) @@ -2335,7 +2332,7 @@ namespace MediaBrowser.Server.Implementations.Persistence { whereClauses.Add("Name like @NameContains"); } - cmd.Parameters.Add(cmd, "@NameContains", DbType.String).Value = "%" + query.NameContains + "%"; + cmd.Parameters.Add(cmd, "@NameContains", DbType.String).Value = "%" + query.NameContains.RemoveDiacritics() + "%"; } if (!string.IsNullOrWhiteSpace(query.NameStartsWith)) {