Files
music_library/backlog/tasks/ml-1 - Add-default-limit-to-Maintenance-orphan-queries.md
T
2026-04-20 10:02:25 +01:00

1.4 KiB

id, title, status, assignee, created_date, labels, dependencies, references, priority
id title status assignee created_date labels dependencies references priority
ML-1 Add default :limit to Maintenance orphan queries To Do
2026-04-20 08:44
https://github.com/cloud8421/music_library/issues/183
low

Description

GitHub: created 2026-04-16 · updated 2026-04-16

Summary

Two Maintenance queries are unbounded when called without the :limit option. Currently invoked only from a Mix task, so not user-facing, but defensively adding a default prevents accidental full-table scans on future call sites.

Evidence

  • lib/music_library/maintenance.ex:77get_artists_missing_musicbrainz_id/1
  • lib/music_library/maintenance.ex:108get_albums_missing_musicbrainz_id/1

Both accept an opts keyword list with :limit, but neither applies a default. Callers in lib/mix/tasks/scrobble/audit.ex pass explicit limits, so today is fine.

Fix

Apply a sensible default (e.g. 1000) to the :limit option if not provided:

def get_artists_missing_musicbrainz_id(opts \\ []) do
  limit = Keyword.get(opts, :limit, 1000)
  # ...
end

Acceptance Criteria

  • #1 Both functions apply a default limit when none is supplied
  • #2 Existing callers continue to override when they need a different value