aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Persistence
AgeCommit message (Collapse)Author
38 hoursBatch people lookups when building item DTOsbrandon
GetBaseItemDtos already batch fetches user data, child counts, played counts and artists before its per item loop, but AttachPeople still ran one GetPeople query per item. Rendering a page of items (for example a large playlist) fired one extra query per row. Add GetPeopleByItems to IPeopleRepository, which reads every requested item in a single query over the people mapping table and returns full PersonInfo (role, type and sort order) grouped by item id. GetBaseItemDtos prefetches this once when the People field is requested and passes it into AttachPeople, which reads from the batch instead of querying per item. The single item GetBaseItemDto path keeps its existing per item behaviour when no batch is supplied. Adds a DtoService test asserting people resolve from the batch and the per item GetPeople is never called.
11 daysFix more filter casesShadowghost
12 daysFix played/unplayed filter for empty Series and BoxSetsShadowghost
2026-07-21Merge pull request #16980 from ↵Cody Robibero
TheMelmacian/feature/library_specific_language_filter_values Improve language filters to only fetch language codes that match the requested items/libraries (follow up to #9787)
2026-05-31Fix similarity (#16942)Tim Eisele
Fix similarity
2026-05-30only fetch language codes for the requested library when generating filter ↵TheMelmacian
values
2026-05-29Add a collection API for `Included In` feature (#15516)Sam Xie
Add a collection API for `Included In` feature
2026-05-27Merge pull request #16856 from Shadowghost/movie-recommendationsBond-009
Fix movie recommendations
2026-05-15Fix movie recommendationsShadowghost
2026-05-12move language filters from QueryFiltersLegacy to QueryFiltersTheMelmacian
2026-05-04Merge pull request #16616 from dkanada/fix-person-limitNiels van Velzen
fix person TotalRecordCount when limit is applied
2026-05-04fix person TotalRecordCount when limit is applieddkanada
2026-05-03Omit BoxSet related materializationShadowghost
2026-03-07Split BaseItemRepository and IItemRepositoryShadowghost
2026-02-25Update saved metadata on primary changeShadowghost
2026-02-18Optimize item count calculation for named itemsShadowghost
2026-02-07Optimize Collection Grouping, NextUp and Latest queriesShadowghost
2026-02-05Fix multiple version handlingShadowghost
2026-01-31Optimize Validator and Filter PerformanceShadowghost
2026-01-31Reroute on version removalShadowghost
2026-01-18Complete LinkedChildren integration and batch DTO optimizationsShadowghost
This commit integrates remaining performance changes: - Add batch user data fetching in DtoService to reduce N+1 queries - Add GetNextUpEpisodesBatch in TVSeriesManager for efficient batch retrieval - Update Video/Movie/BoxSet to use LibraryManager for alternate versions - Transition LinkedChild to use ItemId instead of Path (obsolete Path/LibraryItemId) - Update providers and controllers for LinkedChildren-based references - Add NextUpEpisodeBatchResult for batched episode queries - Integrate IDescendantQueryProvider in SqliteDatabaseProvider
2026-01-18Backport pull request #15899 from jellyfin/release-10.11.zMarcoCoreDuo
Fix watched state not kept on Media replace/rename Original-merge: 8433b6d8a41f66f6eef36bb950927c6a6afa1a36 Merged-by: joshuaboniface <joshua@boniface.me> Backported-by: Bond_009 <bond.009@outlook.com>
2025-12-13Library: Async the SaveImages function (#15718)Luigi311
2025-10-13Remove chapters on file change (#14984)Tim Eisele
2025-09-24Add People Dedup and multiple progress fixes (#14848)JPVenson
2025-09-16Optimize internal querying of UserData, other fixes (#14795)JPVenson
2025-08-11Refactor to pull item counts in a single queryCody Robibero
2025-06-15Always set update action when item does not exist (#14304)JPVenson
2025-05-04Recognize file changes and remove data on change (#13839)Tim Eisele
2025-04-26Merge pull request #13847 from Shadowghost/rework-chapter-managementTim Eisele
Rework chapter management
2025-04-02Import Keyframes into database (#13771)Tim Eisele
* Migrate keyframe data into database * Clear database table before import to handle failed migrations
2025-03-26Fix only returning one item from /Item/Latest api. (#12492)JQ
* Updated to EFcore * Remove unused using * Dont use DateCreated not from episode type or music type * use TranslateQuery to filter out instead and then do the grouping and retrival of min and max datecreated instead * Album also
2025-03-18Add fast-path to getting just the SeriesPresentationUniqueKey for NextUp ↵Cody Robibero
(#13687) * Add more optimized query to calculate series that should be processed for next up * Filter series based on last watched date
2025-01-11Applied review commentsJPVenson
2024-11-24Applied review commentsJPVenson
2024-10-11applied review commentsJPVenson
2024-10-11Removed unused mapping tablesJPVenson
2024-10-10Applied review commentsJPVenson
2024-10-09Apply suggestions from code reviewJPVenson
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-10-09Naming refactoring and WIP porting of new interface repositoriesJPVenson
2024-10-08Removed BaseSqliteRepositoryJPVenson
2024-10-08WIP BaseItem search refactoringJPVenson
2024-09-07Migrated UserData from library sqlite db to jellyfin.dbJPVenson
2023-03-01Allocate less ListsBond_009
2022-02-15Clean up SqliteItemRepositoryBond_009
* remove dead code * reduce allocations
2022-02-14Fix some warningsBond_009
2021-12-27Remove more warningsCody Robibero
2021-09-03Fix some warningsBond_009
2021-08-13Fix warnings in MediaBrowser.ControllerRich Lander
2021-06-06Remove warninigs from MediaBrowser.Controller (Part 3) (#6078)Cody Robibero
Co-authored-by: Bond-009 <bond.009@outlook.com>