Skip to content

Commit c540ee0

Browse files
author
Gusted
authored
Add Num{Issues,Pulls} stats checks (#21404)
- Currently `repository.Num{Issues,Pulls}` weren't checked and could become out-of-consistency. Adds these two checks to `CheckRepoStats`. - Fix incorrect SQL query for `repository.NumClosedPulls`, the check should be for `repo_num_pulls`. - Reference: https://codeberg.org/Codeberg/Community/issues/696
1 parent b59b0ca commit c540ee0

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

models/repo.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,15 +438,27 @@ func CheckRepoStats(ctx context.Context) error {
438438
repoStatsCorrectNumStars,
439439
"repository count 'num_stars'",
440440
},
441+
// Repository.NumIssues
442+
{
443+
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),
444+
repoStatsCorrectNumIssues,
445+
"repository count 'num_issues'",
446+
},
441447
// Repository.NumClosedIssues
442448
{
443449
statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_closed_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", true, false),
444450
repoStatsCorrectNumClosedIssues,
445451
"repository count 'num_closed_issues'",
446452
},
453+
// Repository.NumPulls
454+
{
455+
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),
456+
repoStatsCorrectNumPulls,
457+
"repository count 'num_pulls'",
458+
},
447459
// Repository.NumClosedPulls
448460
{
449-
statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_closed_issues!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", true, true),
461+
statsQuery("SELECT repo.id FROM `repository` repo WHERE repo.num_closed_pulls!=(SELECT COUNT(*) FROM `issue` WHERE repo_id=repo.id AND is_closed=? AND is_pull=?)", true, true),
450462
repoStatsCorrectNumClosedPulls,
451463
"repository count 'num_closed_pulls'",
452464
},

0 commit comments

Comments
 (0)