From 98b8e8c061febff88d77a1fa94db54485ebee63d Mon Sep 17 00:00:00 2001 From: Jason Song Date: Mon, 5 Dec 2022 21:13:32 +0800 Subject: [PATCH 1/4] fix: update total numbers when deleting closed issue --- services/issue/issue.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/issue/issue.go b/services/issue/issue.go index 5073dff819190..b91ee4fc18b07 100644 --- a/services/issue/issue.go +++ b/services/issue/issue.go @@ -218,9 +218,16 @@ func deleteIssue(issue *issues_model.Issue) error { return err } - if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, issue.IsClosed); err != nil { + // update the total issue numbers + if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, false); err != nil { return err } + // if the issue is closed, update the closed issue numbers + if issue.IsClosed { + if err := repo_model.UpdateRepoIssueNumbers(ctx, issue.RepoID, issue.IsPull, true); err != nil { + return err + } + } if err := issues_model.UpdateMilestoneCounters(ctx, issue.MilestoneID); err != nil { return fmt.Errorf("error updating counters for milestone id %d: %w", From 822e407142cc3ca87c65dab38e8bf0ad7ccc2180 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Mon, 5 Dec 2022 21:17:33 +0800 Subject: [PATCH 2/4] fix: use UpdateRepoIssueNumbers --- models/issues/issue.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/models/issues/issue.go b/models/issues/issue.go index 1d66996ee002c..3ab6d204ba09a 100644 --- a/models/issues/issue.go +++ b/models/issues/issue.go @@ -997,12 +997,7 @@ func NewIssueWithIndex(ctx context.Context, doer *user_model.User, opts NewIssue } } - if opts.IsPull { - _, err = e.Exec("UPDATE `repository` SET num_pulls = num_pulls + 1 WHERE id = ?", opts.Issue.RepoID) - } else { - _, err = e.Exec("UPDATE `repository` SET num_issues = num_issues + 1 WHERE id = ?", opts.Issue.RepoID) - } - if err != nil { + if err := repo_model.UpdateRepoIssueNumbers(ctx, opts.Issue.RepoID, opts.IsPull, false); err != nil { return err } From 6c849d31f5c158a1cfafb3163c9190c7ea6eeb68 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Mon, 5 Dec 2022 21:21:25 +0800 Subject: [PATCH 3/4] fix: check query --- models/repo.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/repo.go b/models/repo.go index 5d333a3aee44e..9af600c9ba4a7 100644 --- a/models/repo.go +++ b/models/repo.go @@ -443,7 +443,7 @@ func CheckRepoStats(ctx context.Context) error { }, // Repository.NumIssues { - statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", false, false), + statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_pull=?)", false), repoStatsCorrectNumIssues, "repository count 'num_issues'", }, @@ -455,7 +455,7 @@ func CheckRepoStats(ctx context.Context) error { }, // Repository.NumPulls { - statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_pulls!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", false, true), + statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_pulls!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_pull=?)", true), repoStatsCorrectNumPulls, "repository count 'num_pulls'", }, From cfaf904b27e2b973184e848b8463de45b284390b Mon Sep 17 00:00:00 2001 From: Jason Song Date: Tue, 6 Dec 2022 13:23:32 +0800 Subject: [PATCH 4/4] chore: retriger CI