aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-01-18 14:59:57 +0100
committerShadowghost <Ghost_of_Stone@web.de>2026-01-18 19:48:46 +0100
commit2086ac7dd2f64f286ea3c88a53cc0860f28454f8 (patch)
tree0c2b8c3571d6b554942a4c6e59e987ad886ccbca /src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs
parent4a1012fd227be096d9cb79d68b55257e1e8dcaff (diff)
Don't use raw SQL
Diffstat (limited to 'src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs')
-rw-r--r--src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs30
1 files changed, 0 insertions, 30 deletions
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs
deleted file mode 100644
index 9e3d510b9c..0000000000
--- a/src/Jellyfin.Database/Jellyfin.Database.Implementations/IDescendantQueryProvider.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-using System.Linq;
-using Jellyfin.Database.Implementations.MatchCriteria;
-
-namespace Jellyfin.Database.Implementations;
-
-/// <summary>
-/// Provider interface for descendant queries using recursive CTEs.
-/// Each database provider implements this with provider-specific SQL.
-/// </summary>
-public interface IDescendantQueryProvider
-{
- /// <summary>
- /// Gets a queryable of all descendant IDs for a parent item.
- /// Uses recursive CTE to traverse AncestorIds and LinkedChildren infinitely.
- /// </summary>
- /// <param name="context">Database context.</param>
- /// <param name="parentId">Parent item ID.</param>
- /// <returns>Queryable of descendant item IDs.</returns>
- IQueryable<Guid> GetAllDescendantIds(JellyfinDbContext context, Guid parentId);
-
- /// <summary>
- /// Gets a queryable of all folder IDs that have any descendant matching the specified criteria.
- /// Uses recursive CTE for infinite depth traversal. Can be used in LINQ .Contains() expressions.
- /// </summary>
- /// <param name="context">Database context.</param>
- /// <param name="criteria">The matching criteria to apply.</param>
- /// <returns>Queryable of folder IDs.</returns>
- IQueryable<Guid> GetFolderIdsMatching(JellyfinDbContext context, FolderMatchCriteria criteria);
-}