From 7cdbf3c2170d8647e8eeaf45ca8cccc85c03fecf Mon Sep 17 00:00:00 2001 From: Deluan Date: Wed, 3 Feb 2021 17:26:03 -0500 Subject: [PATCH] Replace custom chunking logic with a `utils.BreakUpStringSlice` call --- persistence/playqueue_repository.go | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/persistence/playqueue_repository.go b/persistence/playqueue_repository.go index d27d52a0d..31e91e6bc 100644 --- a/persistence/playqueue_repository.go +++ b/persistence/playqueue_repository.go @@ -9,6 +9,7 @@ import ( "github.com/astaxie/beego/orm" "github.com/deluan/navidrome/log" "github.com/deluan/navidrome/model" + "github.com/deluan/navidrome/utils" ) type playQueueRepository struct { @@ -112,16 +113,7 @@ func (r *playQueueRepository) loadTracks(tracks model.MediaFiles) model.MediaFil } // Break the list in chunks, up to 50 items, to avoid hitting SQLITE_MAX_FUNCTION_ARG limit - const chunkSize = 50 - var chunks [][]string - for i := 0; i < len(ids); i += chunkSize { - end := i + chunkSize - if end > len(ids) { - end = len(ids) - } - - chunks = append(chunks, ids[i:end]) - } + chunks := utils.BreakUpStringSlice(ids, 50) // Query each chunk of media_file ids and store results in a map mfRepo := NewMediaFileRepository(r.ctx, r.ormer)