diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-01-17 15:06:10 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-01-18 19:46:37 +0100 |
| commit | 139d23ddc29b6bafad5f8e6ba9eddc8484ab0713 (patch) | |
| tree | 4d2d56f9d524c20c65ca9369dac530c9a1f70b43 /Jellyfin.Server.Implementations/Item/BaseItemRepository.cs | |
| parent | cc2ccd1bf344ec38059164d1aa9b261e50807eac (diff) | |
Normalize OwnerId to GUID and add performance indexes
- Change OwnerId from string to Guid for proper foreign key relationships
- Add Owner/Extras navigation properties for extras relationship
- Add indexes on OwnerId and ExtraType columns for efficient queries
- Add optimized composite indexes for latest items queries sorted by DateCreated
- Update BaseItemRepository and migration to handle new Guid type
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/BaseItemRepository.cs')
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/BaseItemRepository.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs index 90aa3a22ee..9e7af1d059 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs @@ -856,7 +856,7 @@ public sealed class BaseItemRepository dto.ChannelId = entity.ChannelId ?? Guid.Empty; dto.DateLastRefreshed = entity.DateLastRefreshed ?? DateTime.SpecifyKind(DateTime.MinValue, DateTimeKind.Utc); dto.DateLastSaved = entity.DateLastSaved ?? DateTime.SpecifyKind(DateTime.MinValue, DateTimeKind.Utc); - dto.OwnerId = string.IsNullOrWhiteSpace(entity.OwnerId) ? Guid.Empty : (Guid.TryParse(entity.OwnerId, out var ownerId) ? ownerId : Guid.Empty); + dto.OwnerId = entity.OwnerId ?? Guid.Empty; dto.Width = entity.Width.GetValueOrDefault(); dto.Height = entity.Height.GetValueOrDefault(); dto.UserData = entity.UserData; @@ -1023,7 +1023,7 @@ public sealed class BaseItemRepository entity.ChannelId = dto.ChannelId; entity.DateLastRefreshed = dto.DateLastRefreshed == DateTime.MinValue ? null : dto.DateLastRefreshed; entity.DateLastSaved = dto.DateLastSaved == DateTime.MinValue ? null : dto.DateLastSaved; - entity.OwnerId = dto.OwnerId.ToString(); + entity.OwnerId = dto.OwnerId == Guid.Empty ? null : dto.OwnerId; entity.Width = dto.Width; entity.Height = dto.Height; entity.Provider = dto.ProviderIds.Select(e => new BaseItemProvider() |
