Cody Robibero
beca405ad4
Refactor to pull item counts in a single query
2025-08-11 21:06:04 -06:00
Evan
0a4ff3f3c0
Fix GetBaseItemDto to return related item counts via SQL count
...
For API call /Items/{item id} GetBaseItemDto will return the counts of related items e.g. artists, albums, songs. GetBaseItemDto currently does this by calling GetTaggedItems which retrieves the objects into memory to count them. Replace with SQL count.
Fixes:
This should be an improvement for any large libraries, but especially large music libraries. Example:
Request Library -> Genres -> any very popular genre in your large library, e.g. Classical
Number of albums = 1552, songs = 23515, ...
- Before change: Try to retrieve 1552 albums, 23515 songs, ... in memory, API never returns, database on fire
- After change: API returns in 367ms and Genre view opens with 200 albums in 2 seconds
I verified the numbers returned are correct but note that there is a bug somewhere else in Jellyfin that is setting TopParentId to NULL for a large portion of my MusicArtists, which causes them to not be counted by the existing GetCount(). This is not related to this change, also happens with the existing code, and does not seem to affect the Web UI.
Includes Cory's changes in:
- https://github.com/jellyfin/jellyfin/pull/14610#issuecomment-3172211468
- https://github.com/jellyfin/jellyfin/pull/14610#issuecomment-3172239154
2025-08-10 18:02:17 +08:00
JPVenson
42bdb22bfb
Fixed namespaces
2025-03-25 16:45:00 +01:00
JPVenson
160020c551
WIP fixed namespaces
2025-03-25 15:30:22 +00:00
JPVenson
850f1c79f1
Merge branch 'master' into feature/DatabaseRefactor
2025-03-25 15:12:48 +00:00
Shadowghost
5ff2767012
Use TryGetProviderId where possible
2025-02-21 11:58:46 +01:00
JPVenson
17003f4d76
Merge remote-tracking branch 'jellyfinorigin/master' into feature/pgsql_provider
2025-02-02 02:09:14 +00:00
Bond-009
9734892322
Merge pull request #12925 from Bond-009/await
...
Always await instead of directly returning Task
2025-01-28 11:29:46 +01:00
JPVenson
aa811eb1e3
Prepared Seperation of Database components for future multi provider support
2025-01-26 20:45:28 +00:00
Bond_009
d2db700402
Always await instead of directly returning Task
...
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#prefer-asyncawait-over-directly-returning-task
The performance impact is negligible (and it's me saying that!)
2024-10-31 17:02:06 +01:00
JPVenson
439a997fca
Readded custom serialisation
2024-10-10 18:01:14 +00:00
JPVenson
b09a41ad1f
WIP porting new Repository structure
2024-10-09 10:36:08 +00:00
gnattu
e4d66f35fd
chore: use proper way to override remove root
...
This is an alternate approach which is more proper, but changes all parts that uses/overrides the original ValidateChildren method
Signed-off-by: gnattu <gnattuoc@me.com >
2024-04-17 14:41:19 +08:00
Cody Robibero
e7b8d45bbb
Use helper function to compare guid ( #10825 )
2024-01-17 08:51:39 -07:00
Bond-009
3982b0e057
Reduce bottlenecks scan code ( #9863 )
2023-06-21 21:01:47 -06:00
Bond-009
2b1a915ead
Merge pull request #7604 from Jellifi007/fixes-diactritics
...
Co-authored-by: Cody Robibero <cody@robibe.ro >
(cherry picked from commit 8d1d973438 )
Signed-off-by: crobibero <cody@robibe.ro >
2022-05-20 18:30:56 -04:00
Bond_009
f50a250cd9
Optimize Guid comparisons
...
* Use Guid.Equals(Guid) instead of the == override
* Ban the usage of Guid.Equals(Object) to prevent accidental boxing
* Compare to default(Guid) instead of Guid.Empty
2022-02-21 14:15:09 +01:00
Cody Robibero
32629cd7da
Use BaseItemKind where possible
2021-12-12 06:11:27 -07:00
Rich Lander
0ce7a15534
Fix more warnings
2021-07-23 16:36:27 -07:00
Bond_009
981cf4cfa0
Remove our own RemoveDiacritcs string extension in favor of Diacritics.Net
2021-06-22 09:48:40 +02:00
Cody Robibero
d461e3912a
Remove warninigs from MediaBrowser.Controller (Part 3) ( #6078 )
...
Co-authored-by: Bond-009 <bond.009@outlook.com >
2021-06-06 17:16:41 +02:00
crobibero
6bcbc2b88a
Reduce warnings in MediaBrowser.Controller
2021-05-13 07:33:11 -06:00
Cody Robibero
e3f55a0c54
Reduce warnings in MediaBrowser.Controller ( #6006 )
...
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com >
2021-05-11 13:55:46 +02:00
Bond_009
fb090df0b5
Enable nullable reference types for MediaBrowser.Controller
2021-05-07 00:39:20 +02:00
crobibero
ee23d06154
Use a more descriptive function name
2020-12-13 08:15:26 -07:00
crobibero
b670937c3d
Use typed UserManager GetPreference
2020-12-11 15:00:43 -07:00
Bond_009
49569ca0a0
Use nameof where possible
2020-10-17 16:19:57 +02:00
Bond_009
404bb4f835
Enable TreatWarningsAsErrors for MediaBrowser.Controller in Release
2020-08-22 21:56:24 +02:00
Bond-009
9af6eda0b4
Merge pull request #3343 from telans/comment-stops
...
Add full stop at end of comments (SA1629)
2020-06-16 11:54:58 +02:00
telans
247f9c61e6
fix SA1513/SA1516
2020-06-16 16:11:30 +12:00
telans
9018f8d8be
Add full stop at end of comments (SA1629)
2020-06-16 10:37:52 +12:00
Patrick Barron
fc02157b42
Fix build errors
2020-06-11 18:28:49 -04:00
Patrick Barron
7a115024aa
Merge branch 'master' into userdb-efcore
...
# Conflicts:
# MediaBrowser.Controller/Library/ILibraryManager.cs
# MediaBrowser.Providers/Users/UserMetadataService.cs
2020-06-11 18:23:12 -04:00
aled
22a860a806
Fix a small number of compile warnings
2020-06-06 20:17:49 +01:00
Patrick Barron
c464f700db
Remove redundant qualifiers
2020-05-20 13:07:53 -04:00
Patrick Barron
9ad839c776
Initial migration code
2020-05-12 22:10:35 -04:00
dkanada
65a9d618cc
add config options for musicbrainz
2020-02-22 15:04:52 +09:00
Bond_009
5edb8159a7
Fix Json serialization error
2019-10-15 17:49:49 +02:00
Erwin de Haan
a36658f6f0
ReSharper Reformat: Properties to expression bodied form.
2019-01-13 21:31:14 +01:00
Erwin de Haan
ba610b5094
Find+Sed BOM removal *.cs: Jellyfin.Server-MediaBrowser.Controller
2019-01-13 21:01:16 +01:00
Erwin de Haan
26ca4b607b
Visual Studio Reformat: MediaBrowser.Controller
2019-01-13 20:25:32 +01:00
Bond_009
340a2c6512
Post GPL cleanup
2019-01-03 23:19:02 +01:00
Bond_009
b1ccd6bad9
Fix build post GPL change
2018-12-30 22:44:39 +01:00
Andrew Rabert
a86b71899e
Add GPL modules
2018-12-27 18:27:57 -05:00
stefan
48facb797e
Update to 3.5.2 and .net core 2.1
2018-09-12 19:26:21 +02:00
Luke Pulverenti
e441e2f53d
update active recordings
2017-08-24 15:52:19 -04:00
Luke Pulverenti
40442f887b
consolidate emby.server.core into emby.server.implementations
2017-08-09 15:56:38 -04:00
Luke Pulverenti
dcaf8356e6
update inherited images
2017-06-29 15:10:58 -04:00
Luke Pulverenti
1e5c3db9eb
support individual library refreshing
2017-06-23 12:04:45 -04:00
Luke Pulverenti
e91f569c15
update live tv startup
2017-06-03 03:36:32 -04:00