diff --git a/db/queries/release.sql b/db/queries/release.sql index 3000d14..9f54291 100644 --- a/db/queries/release.sql +++ b/db/queries/release.sql @@ -36,9 +36,14 @@ LIMIT 1; SELECT r.* FROM releases_with_title r JOIN artist_releases ar ON r.id = ar.release_id -WHERE r.title = ANY ($1::TEXT[]) AND ar.artist_id = $2 -AND r.musicbrainz_id = NULL -LIMIT 1; +WHERE r.title = ANY ($1::TEXT[]) + AND ar.artist_id = $2 + AND EXISTS ( + SELECT 1 + FROM releases r2 + WHERE r2.id = r.id + AND r2.musicbrainz_id IS NULL + ); -- name: GetTopReleasesFromArtist :many SELECT diff --git a/internal/repository/release.sql.go b/internal/repository/release.sql.go index f9111a6..3d77eef 100644 --- a/internal/repository/release.sql.go +++ b/internal/repository/release.sql.go @@ -199,9 +199,14 @@ const getReleaseByArtistAndTitlesNoMbzID = `-- name: GetReleaseByArtistAndTitles SELECT r.id, r.musicbrainz_id, r.image, r.various_artists, r.image_source, r.title FROM releases_with_title r JOIN artist_releases ar ON r.id = ar.release_id -WHERE r.title = ANY ($1::TEXT[]) AND ar.artist_id = $2 -AND r.musicbrainz_id = NULL -LIMIT 1 +WHERE r.title = ANY ($1::TEXT[]) + AND ar.artist_id = $2 + AND EXISTS ( + SELECT 1 + FROM releases r2 + WHERE r2.id = r.id + AND r2.musicbrainz_id IS NULL + ) ` type GetReleaseByArtistAndTitlesNoMbzIDParams struct {