Add Excluded Tags using SQLite parameters

This commit is contained in:
Neil Burrows 2019-12-13 10:29:38 +00:00
parent 96a5dda9ff
commit 554c967dd6
1 changed files with 19 additions and 3 deletions

View File

@ -4593,10 +4593,26 @@ namespace Emby.Server.Implementations.Data
if (query.ExcludeInheritedTags.Length > 0)
{
var tagValues = query.ExcludeInheritedTags.Select(i => "'" + GetCleanValue(i) + "'");
var tagValuesList = string.Join(",", tagValues);
var paramName = "@ExcludeInheritedTags";
whereClauses.Add("((select CleanValue from itemvalues where ItemId=Guid and Type=6 and cleanvalue in (" + tagValuesList + ")) is null)");
if (statement == null)
{
List<string> tagParamList = new List<string>();
for (int index = 0; index < query.ExcludeInheritedTags.Length; index++)
{
tagParamList.Add(paramName + index);
}
whereClauses.Add("((select CleanValue from itemvalues where ItemId=Guid and Type=6 and cleanvalue in (" + string.Join(",", tagParamList) + ")) is null)");
}
else
{
for (int index = 0; index < query.ExcludeInheritedTags.Length; index++)
{
statement.TryBind(paramName + index, GetCleanValue(query.ExcludeInheritedTags[0]));
}
}
}
if (query.SeriesStatuses.Length > 0)