in sapp/ui/run.py [0:0]
def runs(session: Session) -> List[Run]:
triaged_issues = (
session.query(
RunColumn.id.label("run_id"),
func.count(distinct(IssueInstance.id)).label("count"),
)
.group_by(IssueInstance.run_id)
.join(IssueInstance, IssueInstance.run_id == RunColumn.id)
.join(Issue, Issue.id == IssueInstance.issue_id)
.filter(Issue.status != IssueStatus.UNCATEGORIZED)
.subquery()
)
return (
session.query(
RunColumn.id.label("run_id"),
RunColumn.date,
RunColumn.commit_hash,
func.count(distinct(IssueInstance.id)).label("num_issues"),
triaged_issues.c.count.label("triaged_issues"),
)
.group_by(RunColumn)
.join(IssueInstance, IssueInstance.run_id == RunColumn.id, isouter=True)
.join(triaged_issues, triaged_issues.c.run_id == RunColumn.id, isouter=True)
.filter(RunColumn.status == "finished")
.order_by(RunColumn.id.desc())
.all()
)