2
0
Эх сурвалжийг харах

Removed grouping key for testing

JPVenson 8 сар өмнө
parent
commit
17e4485b94

+ 24 - 19
Jellyfin.Server.Implementations/Item/BaseItemRepository.cs

@@ -240,24 +240,29 @@ public sealed class BaseItemRepository(
 
     private IQueryable<BaseItemEntity> ApplyGroupingFilter(IQueryable<BaseItemEntity> dbQuery, InternalItemsQuery filter)
     {
-        var enableGroupByPresentationUniqueKey = EnableGroupByPresentationUniqueKey(filter);
-        if (enableGroupByPresentationUniqueKey && filter.GroupBySeriesPresentationUniqueKey)
-        {
-            dbQuery = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.First());
-        }
-        else if (enableGroupByPresentationUniqueKey)
-        {
-            dbQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.First());
-        }
-        else if (filter.GroupBySeriesPresentationUniqueKey)
-        {
-            dbQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.First());
-        }
-        else
-        {
-            dbQuery = dbQuery.Distinct();
-            dbQuery = ApplyOrder(dbQuery, filter);
-        }
+        // var enableGroupByPresentationUniqueKey = EnableGroupByPresentationUniqueKey(filter);
+        // if (enableGroupByPresentationUniqueKey && filter.GroupBySeriesPresentationUniqueKey)
+        // {
+        //     dbQuery = ApplyOrder(dbQuery, filter);
+        //     dbQuery = dbQuery.GroupBy(e => new { e.PresentationUniqueKey, e.SeriesPresentationUniqueKey }).Select(e => e.First());
+        // }
+        // else if (enableGroupByPresentationUniqueKey)
+        // {
+        //     dbQuery = ApplyOrder(dbQuery, filter);
+        //     dbQuery = dbQuery.GroupBy(e => e.PresentationUniqueKey).Select(e => e.First());
+        // }
+        // else if (filter.GroupBySeriesPresentationUniqueKey)
+        // {
+        //     dbQuery = ApplyOrder(dbQuery, filter);
+        //     dbQuery = dbQuery.GroupBy(e => e.SeriesPresentationUniqueKey).Select(e => e.First());
+        // }
+        // else
+        // {
+        //     dbQuery = dbQuery.Distinct();
+        //     dbQuery = ApplyOrder(dbQuery, filter);
+        // }
+        dbQuery = dbQuery.Distinct();
+        dbQuery = ApplyOrder(dbQuery, filter);
 
         return dbQuery;
     }
@@ -293,7 +298,7 @@ public sealed class BaseItemRepository(
 
     private IQueryable<BaseItemEntity> PrepareItemQuery(JellyfinDbContext context, InternalItemsQuery filter)
     {
-        IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSingleQuery()
+        IQueryable<BaseItemEntity> dbQuery = context.BaseItems.AsNoTracking().AsSplitQuery()
             .Include(e => e.TrailerTypes)
             .Include(e => e.Provider)
             .Include(e => e.LockedFields);