@@ -523,29 +523,27 @@ func (issues IssueList) GetApprovalCounts() (map[int64][]*ReviewCount, error) {
523
523
}
524
524
525
525
func (issues IssueList ) getApprovalCounts (e Engine ) (map [int64 ][]* ReviewCount , error ) {
526
- rCounts := make ([]* ReviewCount , 0 , 6 * len (issues ))
526
+ rCounts := make ([]* ReviewCount , 0 , 2 * len (issues ))
527
527
ids := make ([]int64 , len (issues ))
528
528
for i , issue := range issues {
529
529
ids [i ] = issue .ID
530
530
}
531
531
sess := e .In ("issue_id" , ids )
532
- err := sess .Select ("issue_id, type, count(id) as `count`" ).Where ("official = ?" , true ).GroupBy ("issue_id, type" ).OrderBy ("issue_id" ).Table ("review" ).Find (& rCounts )
532
+ err := sess .Select ("issue_id, type, count(id) as `count`" ).
533
+ Where ("official = ?" , true ).
534
+ GroupBy ("issue_id, type" ).
535
+ OrderBy ("issue_id" ).
536
+ Table ("review" ).
537
+ Find (& rCounts )
533
538
if err != nil {
534
539
return nil , err
535
540
}
536
541
537
542
approvalCountMap := make (map [int64 ][]* ReviewCount , len (issues ))
538
- if len (rCounts ) > 0 {
539
- start := 0
540
- lastID := rCounts [0 ].IssueID
541
- for i , current := range rCounts [1 :] {
542
- if lastID != current .IssueID {
543
- approvalCountMap [lastID ] = rCounts [start :i ]
544
- start = i
545
- lastID = current .IssueID
546
- }
547
- }
548
- approvalCountMap [lastID ] = rCounts [start :]
543
+
544
+ for _ , c := range rCounts {
545
+ approvalCountMap [c .IssueID ] = append (approvalCountMap [c .IssueID ], c )
549
546
}
547
+
550
548
return approvalCountMap , nil
551
549
}
0 commit comments