diff options
Diffstat (limited to 'Emby.Server.Implementations/Data/SqliteItemRepository.cs')
| -rw-r--r-- | Emby.Server.Implementations/Data/SqliteItemRepository.cs | 73 |
1 files changed, 42 insertions, 31 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 51aee444e..49bf9e39c 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -207,8 +207,6 @@ namespace Emby.Server.Implementations.Data AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames); AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames); - AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames); - AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", existingColumnNames); AddColumn(db, "TypedBaseItems", "IsLive", "BIT", existingColumnNames); AddColumn(db, "TypedBaseItems", "IsNews", "BIT", existingColumnNames); @@ -426,7 +424,7 @@ namespace Emby.Server.Implementations.Data "OfficialRating", "HomePageUrl", "DisplayMediaType", - "ForcedSortName", + "SortName", "RunTimeTicks", "VoteCount", "DateCreated", @@ -549,7 +547,6 @@ namespace Emby.Server.Implementations.Data "DisplayMediaType", "DateCreated", "DateModified", - "ForcedSortName", "PreferredMetadataLanguage", "PreferredMetadataCountryCode", "IsHD", @@ -826,8 +823,6 @@ namespace Emby.Server.Implementations.Data saveItemStatement.TryBind("@DateCreated", item.DateCreated); saveItemStatement.TryBind("@DateModified", item.DateModified); - saveItemStatement.TryBind("@ForcedSortName", item.ForcedSortName); - saveItemStatement.TryBind("@PreferredMetadataLanguage", item.PreferredMetadataLanguage); saveItemStatement.TryBind("@PreferredMetadataCountryCode", item.PreferredMetadataCountryCode); saveItemStatement.TryBind("@IsHD", item.IsHD); @@ -1237,7 +1232,7 @@ namespace Emby.Server.Implementations.Data foreach (var row in statement.ExecuteQuery()) { - return GetItem(row); + return GetItem(row, new InternalItemsQuery()); } } @@ -1246,11 +1241,6 @@ namespace Emby.Server.Implementations.Data } } - private BaseItem GetItem(IReadOnlyList<IResultSetValue> reader) - { - return GetItem(reader, new InternalItemsQuery()); - } - private bool TypeRequiresDeserialization(Type type) { if (_config.Configuration.SkipDeserializationForBasicTypes) @@ -1535,11 +1525,14 @@ namespace Emby.Server.Implementations.Data } index++; - if (!reader.IsDBNull(index)) + if (query.HasField(ItemFields.ExternalEtag)) { - item.ExternalEtag = reader.GetString(index); + if (!reader.IsDBNull(index)) + { + item.ExternalEtag = reader.GetString(index); + } + index++; } - index++; if (!reader.IsDBNull(index)) { @@ -1614,7 +1607,7 @@ namespace Emby.Server.Implementations.Data { if (!reader.IsDBNull(index)) { - item.ForcedSortName = reader.GetString(index); + item.SortName = reader.GetString(index); } index++; } @@ -1821,29 +1814,41 @@ namespace Emby.Server.Implementations.Data } index++; - if (!reader.IsDBNull(index)) + if (query.HasField(ItemFields.PresentationUniqueKey)) { - item.PresentationUniqueKey = reader.GetString(index); + if (!reader.IsDBNull(index)) + { + item.PresentationUniqueKey = reader.GetString(index); + } + index++; } - index++; - if (!reader.IsDBNull(index)) + if (query.HasField(ItemFields.InheritedParentalRatingValue)) { - item.InheritedParentalRatingValue = reader.GetInt32(index); + if (!reader.IsDBNull(index)) + { + item.InheritedParentalRatingValue = reader.GetInt32(index); + } + index++; } - index++; - if (!reader.IsDBNull(index)) + if (query.HasField(ItemFields.Tags)) { - item.InheritedTags = reader.GetString(index).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList(); + if (!reader.IsDBNull(index)) + { + item.InheritedTags = reader.GetString(index).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList(); + } + index++; } - index++; - if (!reader.IsDBNull(index)) + if (query.HasField(ItemFields.ExternalSeriesId)) { - item.ExternalSeriesId = reader.GetString(index); + if (!reader.IsDBNull(index)) + { + item.ExternalSeriesId = reader.GetString(index); + } + index++; } - index++; if (query.HasField(ItemFields.Taglines)) { @@ -2240,12 +2245,16 @@ namespace Emby.Server.Implementations.Data } if (field == ItemFields.SortName) { - return new[] { "ForcedSortName" }; + return new[] { "SortName" }; } if (field == ItemFields.Taglines) { return new[] { "Tagline" }; } + if (field == ItemFields.Tags) + { + return new[] { "Tags", "InheritedTags" }; + } return new[] { field.ToString() }; } @@ -4916,7 +4925,9 @@ namespace Emby.Server.Implementations.Data var columns = _retriveItemColumns.ToList(); columns.AddRange(itemCountColumns.Select(i => i.Item2).ToArray()); - var commandText = "select " + string.Join(",", GetFinalColumnsToSelect(query, columns.ToArray())) + GetFromText(); + columns = GetFinalColumnsToSelect(query, columns.ToArray()).ToList(); + + var commandText = "select " + string.Join(",", columns.ToArray()) + GetFromText(); commandText += GetJoinUserDataText(query); var innerQuery = new InternalItemsQuery(query.User) @@ -5042,7 +5053,7 @@ namespace Emby.Server.Implementations.Data foreach (var row in statement.ExecuteQuery()) { - var item = GetItem(row); + var item = GetItem(row, query); if (item != null) { var countStartColumn = columns.Count - 1; |
