Performance improvement for list pull requests (#15447)
This commit is contained in:
parent
f44543a1bb
commit
8202dd1311
5 changed files with 73 additions and 30 deletions
|
@ -239,14 +239,13 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
|
|||
}
|
||||
}
|
||||
|
||||
approvalCounts, err := models.IssueList(issues).GetApprovalCounts()
|
||||
var issueList = models.IssueList(issues)
|
||||
approvalCounts, err := issueList.GetApprovalCounts()
|
||||
if err != nil {
|
||||
ctx.ServerError("ApprovalCounts", err)
|
||||
return
|
||||
}
|
||||
|
||||
var commitStatus = make(map[int64]*models.CommitStatus, len(issues))
|
||||
|
||||
// Get posters.
|
||||
for i := range issues {
|
||||
// Check read status
|
||||
|
@ -256,16 +255,12 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
|
|||
ctx.ServerError("GetIsRead", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if issues[i].IsPull {
|
||||
if err := issues[i].LoadPullRequest(); err != nil {
|
||||
ctx.ServerError("LoadPullRequest", err)
|
||||
return
|
||||
}
|
||||
|
||||
var statuses, _ = pull_service.GetLastCommitStatus(issues[i].PullRequest)
|
||||
commitStatus[issues[i].PullRequest.ID] = models.CalcCommitStatus(statuses)
|
||||
}
|
||||
commitStatus, err := pull_service.GetIssuesLastCommitStatus(issues)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetIssuesLastCommitStatus", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Data["Issues"] = issues
|
||||
|
|
|
@ -550,14 +550,14 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) {
|
|||
}
|
||||
|
||||
// maps pull request IDs to their CommitStatus. Will be posted to ctx.Data.
|
||||
var commitStatus = make(map[int64]*models.CommitStatus, len(issues))
|
||||
for _, issue := range issues {
|
||||
issue.Repo = showReposMap[issue.RepoID]
|
||||
}
|
||||
|
||||
if isPullList {
|
||||
var statuses, _ = pull_service.GetLastCommitStatus(issue.PullRequest)
|
||||
commitStatus[issue.PullRequest.ID] = models.CalcCommitStatus(statuses)
|
||||
}
|
||||
commitStatus, err := pull_service.GetIssuesLastCommitStatus(issues)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetIssuesLastCommitStatus", err)
|
||||
return
|
||||
}
|
||||
|
||||
// -------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue