From 5680e53949f92c11845f8178e3e84a35b6d99835 Mon Sep 17 00:00:00 2001 From: Deluan Date: Sun, 26 Sep 2021 15:55:52 -0400 Subject: [PATCH] Update genres in chunks. Should fix #1368 --- persistence/sql_genres.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/persistence/sql_genres.go b/persistence/sql_genres.go index eec35abd..8af02995 100644 --- a/persistence/sql_genres.go +++ b/persistence/sql_genres.go @@ -22,10 +22,17 @@ func (r *sqlRepository) updateGenres(id string, tableName string, genres model.G return nil } ins := Insert(tableName+"_genres").Columns("genre_id", tableName+"_id") + var genreIds []string for _, g := range genres { - ins = ins.Values(g.ID, id) + genreIds = append(genreIds, g.ID) } - _, err = r.executeSQL(ins) + err = utils.RangeByChunks(genreIds, 100, func(ids []string) error { + for _, gid := range ids { + ins = ins.Values(gid, id) + } + _, err = r.executeSQL(ins) + return err + }) return err }