feat: fix NotifyOnce map key to use composite ArtistID+RGID

This commit is contained in:
2026-07-26 12:37:57 +03:00
parent 395a7f9b07
commit f697ebf2f5
4 changed files with 92 additions and 10 deletions

View File

@@ -81,11 +81,11 @@ Problem: Three separate filter implementations (`musicbrainz.FilterReleaseGroups
- [x] Run tests - must pass before task 8
### Task 8: Fix NotifyOnce map key to use composite ArtistID+RGID
- [ ] Change `missingByRGID` map key from `m.RGID` to `m.ArtistID + "|" + m.RGID` (or use a struct key)
- [ ] Update lookup from `unnotified` slice similarly
- [ ] Add comment documenting that RGID is globally unique in MusicBrainz (UUID) so single-key is theoretically safe, but composite is defensive
- [ ] Write test verifying composite key works and doesn't break existing behavior
- [ ] Run tests - must pass before task 9
- [x] Change `missingByRGID` map key from `m.RGID` to `m.ArtistID + "|" + m.RGID` (or use a struct key)
- [x] Update lookup from `unnotified` slice similarly
- [x] Add comment documenting that RGID is globally unique in MusicBrainz (UUID) so single-key is theoretically safe, but composite is defensive
- [x] Write test verifying composite key works and doesn't break existing behavior
- [x] Run tests - must pass before task 9
### Task 9: Remove SaveArtistSettings INSERT subquery inefficiency (minor)
- [ ] Rewrite `SaveArtistSettings` to use two statements: INSERT with explicit values, then UPDATE on conflict (or use UPSERT with COALESCE for all columns including last_synced)