|
|
|
@ -4202,7 +4202,19 @@ namespace Emby.Server.Implementations.Data
|
|
|
|
|
{
|
|
|
|
|
int index = 0;
|
|
|
|
|
string includedTags = string.Join(',', query.IncludeInheritedTags.Select(_ => paramName + index++));
|
|
|
|
|
whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)");
|
|
|
|
|
// Episodes do not store inherit tags from their parents in the database, and the tag may be still required by the client.
|
|
|
|
|
// In addtion to the tags for the episodes themselves, we need to manually query its parent (the season)'s tags as well.
|
|
|
|
|
if (includeTypes.Length == 1 && includeTypes.FirstOrDefault() is BaseItemKind.Episode)
|
|
|
|
|
{
|
|
|
|
|
whereClauses.Add($"""
|
|
|
|
|
((select CleanValue from ItemValues where ItemId=Guid and Type=6 and CleanValue in ({includedTags})) is not null
|
|
|
|
|
OR (select CleanValue from ItemValues where ItemId=ParentId and Type=6 and CleanValue in ({includedTags})) is not null)
|
|
|
|
|
""");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|