From 12960b9d1861c9e7b0b5c7076dec029de80a1944 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Fri, 17 Apr 2020 19:42:57 +0200 Subject: [PATCH] [BugFix] remove nil inserts in models (#11096) * Fix InsertReleases Nil Insert on Attachments * FIX "No element on slice when insert" & smal refactor * again * impruve * rm useles newline * Apply suggestions from code review Co-Authored-By: zeripath * process insert as a whole Co-authored-by: zeripath --- models/migrate.go | 31 ++++++++++++++++++++----------- modules/migrations/gitea.go | 18 ++++++++++++------ 2 files changed, 32 insertions(+), 17 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index ea4a8c17687..2715c5bd9b0 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -64,15 +64,20 @@ func insertIssue(sess *xorm.Session, issue *Issue) error { }) labelIDs = append(labelIDs, label.ID) } - if _, err := sess.Insert(issueLabels); err != nil { - return err + if len(issueLabels) > 0 { + if _, err := sess.Insert(issueLabels); err != nil { + return err + } } for _, reaction := range issue.Reactions { reaction.IssueID = issue.ID } - if _, err := sess.Insert(issue.Reactions); err != nil { - return err + + if len(issue.Reactions) > 0 { + if _, err := sess.Insert(issue.Reactions); err != nil { + return err + } } cols := make([]string, 0) @@ -151,8 +156,10 @@ func InsertIssueComments(comments []*Comment) error { reaction.IssueID = comment.IssueID reaction.CommentID = comment.ID } - if _, err := sess.Insert(comment.Reactions); err != nil { - return err + if len(comment.Reactions) > 0 { + if _, err := sess.Insert(comment.Reactions); err != nil { + return err + } } } @@ -196,12 +203,14 @@ func InsertReleases(rels ...*Release) error { return err } - for i := 0; i < len(rel.Attachments); i++ { - rel.Attachments[i].ReleaseID = rel.ID - } + if len(rel.Attachments) > 0 { + for i := range rel.Attachments { + rel.Attachments[i].ReleaseID = rel.ID + } - if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { - return err + if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { + return err + } } } diff --git a/modules/migrations/gitea.go b/modules/migrations/gitea.go index a087cafe9d9..8da1bd4683a 100644 --- a/modules/migrations/gitea.go +++ b/modules/migrations/gitea.go @@ -393,13 +393,16 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { iss = append(iss, &is) } - err := models.InsertIssues(iss...) - if err != nil { - return err - } - for _, is := range iss { - g.issues.Store(is.Index, is.ID) + if len(iss) > 0 { + if err := models.InsertIssues(iss...); err != nil { + return err + } + + for _, is := range iss { + g.issues.Store(is.Index, is.ID) + } } + return nil } @@ -478,6 +481,9 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { cms = append(cms, &cm) } + if len(cms) == 0 { + return nil + } return models.InsertIssueComments(cms) }