From f6e3f6c8754d3525f4404b87fa35cd9660acd716 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 14 Feb 2016 00:23:33 -0500 Subject: [PATCH] restore people in search --- .../Persistence/SqliteItemRepository.cs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index ed1aeac9f0..d7bf294e34 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Server.Implementations.Persistence private IDbCommand _updateInheritedRatingCommand; - private const int LatestSchemaVersion = 44; + private const int LatestSchemaVersion = 45; /// /// Initializes a new instance of the class. @@ -221,6 +221,7 @@ namespace MediaBrowser.Server.Implementations.Persistence _connection.AddColumn(Logger, "TypedBaseItems", "InheritedParentalRatingValue", "INT"); _connection.AddColumn(Logger, "TypedBaseItems", "UnratedType", "Text"); _connection.AddColumn(Logger, "TypedBaseItems", "TopParentId", "Text"); + _connection.AddColumn(Logger, "TypedBaseItems", "IsItemByName", "BIT"); PrepareStatements(); @@ -445,7 +446,8 @@ namespace MediaBrowser.Server.Implementations.Persistence "Tags", "IsFolder", "UnratedType", - "TopParentId" + "TopParentId", + "IsItemByName" }; _saveItemCommand = _connection.CreateCommand(); _saveItemCommand.CommandText = "replace into TypedBaseItems (" + string.Join(",", saveColumns.ToArray()) + ") values ("; @@ -730,6 +732,15 @@ namespace MediaBrowser.Server.Implementations.Persistence _saveItemCommand.GetParameter(index++).Value = null; } + var isByName = false; + var byName = item as IItemByName; + if (byName != null) + { + var dualAccess = item as IHasDualAccess; + isByName = dualAccess == null || dualAccess.IsAccessedByName; + } + _saveItemCommand.GetParameter(index++).Value = isByName; + _saveItemCommand.Transaction = transaction; _saveItemCommand.ExecuteNonQuery(); @@ -1905,14 +1916,16 @@ namespace MediaBrowser.Server.Implementations.Persistence if (query.TopParentIds.Length == 1) { - whereClauses.Add("(TopParentId=@TopParentId)"); + whereClauses.Add("(TopParentId=@TopParentId or IsItemByName=@IsItemByName)"); cmd.Parameters.Add(cmd, "@TopParentId", DbType.String).Value = query.TopParentIds[0]; + cmd.Parameters.Add(cmd, "@IsItemByName", DbType.Boolean).Value = true; } if (query.TopParentIds.Length > 1) { var val = string.Join(",", query.TopParentIds.Select(i => "'" + i + "'").ToArray()); - whereClauses.Add("(TopParentId in (" + val + "))"); + whereClauses.Add("(IsItemByName=@IsItemByName or TopParentId in (" + val + "))"); + cmd.Parameters.Add(cmd, "@IsItemByName", DbType.Boolean).Value = true; } if (query.AncestorIds.Length == 1)