From 0aeee8233bd0e602bd4523125d2c44b847d3fc7a Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Fri, 12 Jun 2026 08:09:10 +0200 Subject: [PATCH] Fix performance --- .../Library/UserDataManager.cs | 50 ++++++++++++++++--- .../Item/BaseItemRepository.TranslateQuery.cs | 10 ++-- .../AlternateVersionQueryTranslationTests.cs | 7 +-- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/Emby.Server.Implementations/Library/UserDataManager.cs b/Emby.Server.Implementations/Library/UserDataManager.cs index 4fda853bb1..bedaacee33 100644 --- a/Emby.Server.Implementations/Library/UserDataManager.cs +++ b/Emby.Server.Implementations/Library/UserDataManager.cs @@ -259,15 +259,53 @@ namespace Emby.Server.Implementations.Library ArgumentNullException.ThrowIfNull(user); var result = new Dictionary(); + + // Candidate primaries: a directly queried version (PrimaryVersionId set) keeps its own data. + // Linked alternates are already known in memory; only the local-alternate existence check + // would otherwise hit the database (one query per item via Video.HasLocalAlternateVersions), + // so collect those ids and resolve them all in a single query below. + List