Address comments
This commit is contained in:
parent
2ffab720fb
commit
d8d6c6f254
|
@ -22,13 +22,10 @@ using MediaBrowser.Controller.Persistence;
|
|||
using MediaBrowser.Controller.Playlists;
|
||||
using MediaBrowser.Model.Dto;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.LiveTv;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using MediaBrowser.Model.Reflection;
|
||||
using MediaBrowser.Model.Serialization;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.Model.Threading;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SQLitePCL.pretty;
|
||||
|
||||
|
@ -316,8 +313,6 @@ namespace Emby.Server.Implementations.Data
|
|||
};
|
||||
|
||||
connection.RunQueries(postQueries);
|
||||
|
||||
//await Vacuum(_connection).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
userDataRepo.Initialize(WriteLock, _connection, userManager);
|
||||
|
@ -623,39 +618,35 @@ namespace Emby.Server.Implementations.Data
|
|||
{
|
||||
GetSaveItemCommandText(),
|
||||
"delete from AncestorIds where ItemId=@ItemId"
|
||||
|
||||
});
|
||||
|
||||
using (var saveItemStatement = statements[0])
|
||||
using (var deleteAncestorsStatement = statements[1])
|
||||
{
|
||||
using (var deleteAncestorsStatement = statements[1])
|
||||
var requiresReset = false;
|
||||
foreach (var tuple in tuples)
|
||||
{
|
||||
var requiresReset = false;
|
||||
foreach (var tuple in tuples)
|
||||
if (requiresReset)
|
||||
{
|
||||
if (requiresReset)
|
||||
{
|
||||
saveItemStatement.Reset();
|
||||
}
|
||||
|
||||
var item = tuple.Item1;
|
||||
var topParent = tuple.Item3;
|
||||
var userDataKey = tuple.Item4;
|
||||
|
||||
SaveItem(item, topParent, userDataKey, saveItemStatement);
|
||||
//logger.LogDebug(_saveItemCommand.CommandText);
|
||||
|
||||
var inheritedTags = tuple.Item5;
|
||||
|
||||
if (item.SupportsAncestors)
|
||||
{
|
||||
UpdateAncestors(item.Id, tuple.Item2, db, deleteAncestorsStatement);
|
||||
}
|
||||
|
||||
UpdateItemValues(item.Id, GetItemValuesToSave(item, inheritedTags), db);
|
||||
|
||||
requiresReset = true;
|
||||
saveItemStatement.Reset();
|
||||
}
|
||||
|
||||
var item = tuple.Item1;
|
||||
var topParent = tuple.Item3;
|
||||
var userDataKey = tuple.Item4;
|
||||
|
||||
SaveItem(item, topParent, userDataKey, saveItemStatement);
|
||||
|
||||
var inheritedTags = tuple.Item5;
|
||||
|
||||
if (item.SupportsAncestors)
|
||||
{
|
||||
UpdateAncestors(item.Id, tuple.Item2, db, deleteAncestorsStatement);
|
||||
}
|
||||
|
||||
UpdateItemValues(item.Id, GetItemValuesToSave(item, inheritedTags), db);
|
||||
|
||||
requiresReset = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -989,8 +980,7 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
|
||||
string artists = null;
|
||||
if (item is IHasArtist hasArtists
|
||||
&& hasArtists.Artists.Length > 0)
|
||||
if (item is IHasArtist hasArtists && hasArtists.Artists.Length > 0)
|
||||
{
|
||||
artists = string.Join("|", hasArtists.Artists);
|
||||
}
|
||||
|
@ -1032,7 +1022,8 @@ namespace Emby.Server.Implementations.Data
|
|||
StringBuilder str = new StringBuilder();
|
||||
foreach (var i in item.ProviderIds)
|
||||
{
|
||||
// Ideally we shouldn't need this IsNullOrWhiteSpace check but we're seeing some cases of bad data slip through
|
||||
// Ideally we shouldn't need this IsNullOrWhiteSpace check,
|
||||
// but we're seeing some cases of bad data slip through
|
||||
if (string.IsNullOrWhiteSpace(i.Value))
|
||||
{
|
||||
continue;
|
||||
|
@ -1082,7 +1073,7 @@ namespace Emby.Server.Implementations.Data
|
|||
return null;
|
||||
}
|
||||
StringBuilder str = new StringBuilder();
|
||||
foreach(var i in images)
|
||||
foreach (var i in images)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(i.Path))
|
||||
{
|
||||
|
@ -1194,7 +1185,7 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
|
||||
CheckDisposed();
|
||||
//logger.LogInformation("Retrieving item {0}", id.ToString("N"));
|
||||
|
||||
using (WriteLock.Read())
|
||||
{
|
||||
using (var connection = CreateConnection(true))
|
||||
|
@ -2253,7 +2244,7 @@ namespace Emby.Server.Implementations.Data
|
|||
return true;
|
||||
}
|
||||
|
||||
return query.IncludeItemTypes.Contains("Episode", StringComparer.OrdinalIgnoreCase);
|
||||
return query.IncludeItemTypes.Contains("Episode", StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
private bool HasTrailerTypes(InternalItemsQuery query)
|
||||
|
@ -2411,7 +2402,6 @@ namespace Emby.Server.Implementations.Data
|
|||
|
||||
if (item.ProductionYear.HasValue)
|
||||
{
|
||||
//builder.Append("+ ((ProductionYear=@ItemProductionYear) * 10)");
|
||||
builder.Append("+(Select Case When Abs(COALESCE(ProductionYear, 0) - @ItemProductionYear) < 10 Then 10 Else 0 End )");
|
||||
builder.Append("+(Select Case When Abs(COALESCE(ProductionYear, 0) - @ItemProductionYear) < 5 Then 5 Else 0 End )");
|
||||
}
|
||||
|
@ -2419,12 +2409,6 @@ namespace Emby.Server.Implementations.Data
|
|||
//// genres, tags
|
||||
builder.Append("+ ((Select count(CleanValue) from ItemValues where ItemId=Guid and CleanValue in (select CleanValue from itemvalues where ItemId=@SimilarItemId)) * 10)");
|
||||
|
||||
//builder.Append("+ ((Select count(CleanValue) from ItemValues where ItemId=Guid and Type=3 and CleanValue in (select CleanValue from itemvalues where ItemId=@SimilarItemId and type=3)) * 3)");
|
||||
|
||||
//builder.Append("+ ((Select count(Name) from People where ItemId=Guid and Name in (select Name from People where ItemId=@SimilarItemId)) * 3)");
|
||||
|
||||
//builder.Append("(select group_concat((Select Name from People where ItemId=Guid and Name in (Select Name from People where ItemId=@SimilarItemId)), '|'))");
|
||||
|
||||
builder.Append(") as SimilarityScore");
|
||||
|
||||
list.Add(builder.ToString());
|
||||
|
@ -2572,8 +2556,6 @@ namespace Emby.Server.Implementations.Data
|
|||
commandText += " where " + string.Join(" AND ", whereClauses);
|
||||
}
|
||||
|
||||
//commandText += GetGroupBy(query);
|
||||
|
||||
using (WriteLock.Read())
|
||||
{
|
||||
using (var connection = CreateConnection(true))
|
||||
|
@ -2949,7 +2931,6 @@ namespace Emby.Server.Implementations.Data
|
|||
{
|
||||
orderBy.Add(new ValueTuple<string, SortOrder>("SimilarityScore", SortOrder.Descending));
|
||||
orderBy.Add(new ValueTuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending));
|
||||
//orderBy.Add(new Tuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(query.SearchTerm))
|
||||
|
@ -3011,7 +2992,6 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
else if (string.Equals(name, ItemSortBy.IsFavoriteOrLiked, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// (Select Case When Abs(COALESCE(ProductionYear, 0) - @ItemProductionYear) < 10 Then 2 Else 0 End )
|
||||
return ("(Select Case When IsFavorite is null Then 0 Else IsFavorite End )", true);
|
||||
}
|
||||
else if (string.Equals(name, ItemSortBy.IsFolder, StringComparison.OrdinalIgnoreCase))
|
||||
|
@ -3384,14 +3364,6 @@ namespace Emby.Server.Implementations.Data
|
|||
query.IsVirtualItem = false;
|
||||
}
|
||||
|
||||
var whereClauses = new List<string>();
|
||||
|
||||
/*
|
||||
if (EnableJoinUserData(query))
|
||||
{
|
||||
whereClauses.Add("(UserId is null or UserId=@UserId)");
|
||||
}*/
|
||||
|
||||
var minWidth = query.MinWidth;
|
||||
var maxWidth = query.MaxWidth;
|
||||
|
||||
|
@ -3421,6 +3393,8 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
}
|
||||
|
||||
var whereClauses = new List<string>();
|
||||
|
||||
if (minWidth.HasValue)
|
||||
{
|
||||
whereClauses.Add("Width>=@MinWidth");
|
||||
|
@ -3466,43 +3440,6 @@ namespace Emby.Server.Implementations.Data
|
|||
var tags = query.Tags.ToList();
|
||||
var excludeTags = query.ExcludeTags.ToList();
|
||||
|
||||
//if (!(query.IsMovie ?? true) || !(query.IsSeries ?? true))
|
||||
//{
|
||||
// if (query.IsMovie.HasValue)
|
||||
// {
|
||||
// var alternateTypes = new List<string>();
|
||||
// if (query.IncludeItemTypes.Length == 0 || query.IncludeItemTypes.Contains(typeof(Movie).Name))
|
||||
// {
|
||||
// alternateTypes.Add(typeof(Movie).FullName);
|
||||
// }
|
||||
// if (query.IncludeItemTypes.Length == 0 || query.IncludeItemTypes.Contains(typeof(Trailer).Name))
|
||||
// {
|
||||
// alternateTypes.Add(typeof(Trailer).FullName);
|
||||
// }
|
||||
|
||||
// if (alternateTypes.Count == 0)
|
||||
// {
|
||||
// whereClauses.Add("IsMovie=@IsMovie");
|
||||
// if (statement != null)
|
||||
// {
|
||||
// statement.TryBind("@IsMovie", query.IsMovie);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// whereClauses.Add("(IsMovie is null OR IsMovie=@IsMovie)");
|
||||
// if (statement != null)
|
||||
// {
|
||||
// statement.TryBind("@IsMovie", query.IsMovie);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
|
||||
//}
|
||||
|
||||
if (query.IsMovie ?? false)
|
||||
{
|
||||
var alternateTypes = new List<string>();
|
||||
|
@ -3664,7 +3601,6 @@ namespace Emby.Server.Implementations.Data
|
|||
|
||||
if (!string.IsNullOrWhiteSpace(query.Path))
|
||||
{
|
||||
//whereClauses.Add("(Path=@Path COLLATE NOCASE)");
|
||||
whereClauses.Add("Path=@Path");
|
||||
if (statement != null)
|
||||
{
|
||||
|
@ -3726,18 +3662,6 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
}
|
||||
|
||||
//if (query.MinPlayers.HasValue)
|
||||
//{
|
||||
// whereClauses.Add("Players>=@MinPlayers");
|
||||
// cmd.Parameters.Add(cmd, "@MinPlayers", DbType.Int32).Value = query.MinPlayers.Value;
|
||||
//}
|
||||
|
||||
//if (query.MaxPlayers.HasValue)
|
||||
//{
|
||||
// whereClauses.Add("Players<=@MaxPlayers");
|
||||
// cmd.Parameters.Add(cmd, "@MaxPlayers", DbType.Int32).Value = query.MaxPlayers.Value;
|
||||
//}
|
||||
|
||||
if (query.IndexNumber.HasValue)
|
||||
{
|
||||
whereClauses.Add("IndexNumber=@IndexNumber");
|
||||
|
@ -4547,7 +4471,6 @@ namespace Emby.Server.Implementations.Data
|
|||
}
|
||||
|
||||
var paramName = "@ExcludeProviderId" + index;
|
||||
//excludeIds.Add("(COALESCE((select value from ProviderIds where ItemId=Guid and Name = '" + pair.Key + "'), '') <> " + paramName + ")");
|
||||
excludeIds.Add("(ProviderIds is null or ProviderIds not like " + paramName + ")");
|
||||
if (statement != null)
|
||||
{
|
||||
|
@ -5457,8 +5380,6 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
|
|||
|
||||
itemCountColumnQuery += typeWhereText;
|
||||
|
||||
//itemCountColumnQuery += ")";
|
||||
|
||||
itemCountColumns = new Dictionary<string, string>()
|
||||
{
|
||||
{ "itemTypes", "(" + itemCountColumnQuery + ") as itemTypes"}
|
||||
|
|
Loading…
Reference in New Issue
Block a user