mirror of
https://github.com/immich-app/immich.git
synced 2026-01-15 06:23:00 -08:00
fix(server): search statistics with personIds returns 500 (#25074)
The searchAssetBuilder was incorrectly adding withFacesAndPeople select when personIds was provided. This caused a SQL error because the subquery referenced asset.id which wasn't selected in statistics queries (only count(*) was selected). The fix removes personIds from the condition that triggers adding faces data to the select. The hasPeople filter (for personIds) is still applied correctly for filtering. Fixes #25003 Signed-off-by: majiayu000 <1835304752@qq.com>
This commit is contained in:
@@ -446,7 +446,7 @@ export function searchAssetBuilder(kysely: Kysely<DB>, options: AssetSearchBuild
|
||||
qb.where((eb) => eb.not(eb.exists((eb) => eb.selectFrom('album_asset').whereRef('assetId', '=', 'asset.id')))),
|
||||
)
|
||||
.$if(!!options.withExif, withExifInner)
|
||||
.$if(!!(options.withFaces || options.withPeople || options.personIds), (qb) => qb.select(withFacesAndPeople))
|
||||
.$if(!!(options.withFaces || options.withPeople), (qb) => qb.select(withFacesAndPeople))
|
||||
.$if(!options.withDeleted, (qb) => qb.where('asset.deletedAt', 'is', null));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user