From 3a91f845e81aae386afb0210f3a66b88109e99a2 Mon Sep 17 00:00:00 2001 From: singuliere <35190819+singuliere@users.noreply.github.com> Date: Mon, 7 Feb 2022 16:43:08 +0100 Subject: [PATCH] remove redundant call to UpdateRepoStats during migration (#18591) There is no need to call UpdateRepoStats in the InsertIssues and InsertPullRequests function. They are only called during migration by the CreateIssues and CreateReviews methods of the gitea uploader. The UpdateRepoStats function will be called by the Finish method of the gitea uploader after all reviews and issues are inserted. Calling it before is therefore redundant and the associated SQL requests are not cheap. The statistics tests done after inserting an issue or a pull request are also removed. They predate the implementation of UpdateRepoStats, back when the calculation of the statistics was an integral part of the migration function. The UpdateRepoStats is now tested independantly and these tests are no longer necessary. Signed-off-by: singuliere Co-authored-by: zeripath Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lunny Xiao Co-authored-by: wxiaoguang --- models/migrate.go | 9 --------- models/migrate_test.go | 31 ++++--------------------------- 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/models/migrate.go b/models/migrate.go index 4da426887bfe..bbfba1fa1e61 100644 --- a/models/migrate.go +++ b/models/migrate.go @@ -52,10 +52,6 @@ func InsertIssues(issues ...*Issue) error { return err } } - err = UpdateRepoStats(ctx, issues[0].RepoID) - if err != nil { - return err - } return committer.Commit() } @@ -147,11 +143,6 @@ func InsertPullRequests(prs ...*PullRequest) error { return err } } - - err = UpdateRepoStats(ctx, prs[0].Issue.RepoID) - if err != nil { - return err - } return committer.Commit() } diff --git a/models/migrate_test.go b/models/migrate_test.go index 34183c1854f6..d85dcbfeef25 100644 --- a/models/migrate_test.go +++ b/models/migrate_test.go @@ -32,8 +32,9 @@ func TestMigrate_InsertMilestones(t *testing.T) { unittest.CheckConsistencyFor(t, &Milestone{}) } -func assertCreateIssues(t *testing.T, reponame string, isPull bool) { +func assertCreateIssues(t *testing.T, isPull bool) { assert.NoError(t, unittest.PrepareTestDatabase()) + reponame := "repo1" repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository) owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}).(*user_model.User) label := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) @@ -63,38 +64,14 @@ func assertCreateIssues(t *testing.T, reponame string, isPull bool) { i := unittest.AssertExistsAndLoadBean(t, &Issue{Title: title}).(*Issue) unittest.AssertExistsAndLoadBean(t, &Reaction{Type: "heart", UserID: owner.ID, IssueID: i.ID}) - - labelModified := unittest.AssertExistsAndLoadBean(t, &Label{ID: 1}).(*Label) - assert.EqualValues(t, label.NumIssues+1, labelModified.NumIssues) - assert.EqualValues(t, label.NumClosedIssues+1, labelModified.NumClosedIssues) - - milestoneModified := unittest.AssertExistsAndLoadBean(t, &Milestone{ID: milestone.ID}).(*Milestone) - assert.EqualValues(t, milestone.NumIssues+1, milestoneModified.NumIssues) - assert.EqualValues(t, milestone.NumClosedIssues+1, milestoneModified.NumClosedIssues) } func TestMigrate_CreateIssuesIsPullFalse(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - reponame := "repo1" - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository) - - assertCreateIssues(t, reponame, false) - - repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID}).(*repo_model.Repository) - assert.EqualValues(t, repo.NumIssues+1, repoModified.NumIssues) - assert.EqualValues(t, repo.NumClosedIssues+1, repoModified.NumClosedIssues) + assertCreateIssues(t, false) } func TestMigrate_CreateIssuesIsPullTrue(t *testing.T) { - assert.NoError(t, unittest.PrepareTestDatabase()) - reponame := "repo1" - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository) - - assertCreateIssues(t, reponame, true) - - repoModified := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID}).(*repo_model.Repository) - assert.EqualValues(t, repo.NumPulls+1, repoModified.NumPulls) - assert.EqualValues(t, repo.NumClosedPulls+1, repoModified.NumClosedPulls) + assertCreateIssues(t, true) } func TestMigrate_InsertIssueComments(t *testing.T) {