Files
music_library/backlog/tasks/ml-99 - Raw-SQL-with-string-concatenation-in-ScrobbleRules.md
T
2026-04-20 10:02:25 +01:00

1008 B

id, title, status, assignee, created_date, labels, dependencies, references, priority
id title status assignee created_date labels dependencies references priority
ML-99 Raw SQL with string concatenation in ScrobbleRules Done
2026-04-20 08:58
https://github.com/cloud8421/music_library/issues/75
medium

Description

GitHub: created 2026-02-17 · updated 2026-03-05 · closed 2026-03-05

Priority: Medium

Description

lib/music_library/scrobble_rules.ex — Four apply_all_*_rules functions (lines 398-598) build CASE/WHEN and WHERE IN clauses via string concatenation and execute with Repo.query/2. Values are properly parameterized, but the SQL structure (placeholders, CASE clauses) is built via string interpolation, making it harder to maintain and test than Ecto query builders.

Expected behavior

Use Ecto query builders or a safer SQL construction approach to improve maintainability and testability.

Source

From technical debt audit (2026-02-17), item #2.