Fix track_lookup key: use unit separator instead of null byte

Postgres TEXT columns reject null bytes (\x00), causing silent insert
failures. Use U+001F (unit separator) instead.
This commit is contained in:
safierinx-a 2026-03-25 11:28:16 +05:30
parent 8ce6ec494d
commit 26aa3eca1f

View file

@ -3,7 +3,7 @@ package catalog
import "strings"
// TrackLookupKey builds a normalized cache key for entity resolution.
// Uses null-byte separators to avoid collisions between field values.
// Uses unit separator (U+001F) to avoid collisions between field values.
func TrackLookupKey(artist, track, album string) string {
return strings.ToLower(artist) + "\x00" + strings.ToLower(track) + "\x00" + strings.ToLower(album)
return strings.ToLower(artist) + "\x1f" + strings.ToLower(track) + "\x1f" + strings.ToLower(album)
}