From 458239b46d16987a8df19e5bd68d1838435f994d Mon Sep 17 00:00:00 2001 From: singuliere <35190819+singuliere@users.noreply.github.com> Date: Thu, 17 Feb 2022 18:57:05 +0100 Subject: [PATCH] remove redundant call to UpdateRepoStats during migration (#18591) (#18794) 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 4da426887b..bbfba1fa1e 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 09433b6b41..2a4f026766 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) {