fix SQL for Tasks stats when there are no tasks

This commit is contained in:
speatzle 2024-05-28 21:08:51 +02:00
parent 81ae32c0f5
commit f15cb98b70

View file

@ -62,15 +62,15 @@ func handleTasks(w http.ResponseWriter, r *http.Request) {
data := TasksData{}
err := db.QueryRow(r.Context(), `
SELECT count(*),
sum(case when status = 0 then 1 else 0 end),
sum(case when status = 1 then 1 else 0 end),
sum(case when status = 2 then 1 else 0 end),
sum(case when status = 3 then 1 else 0 end),
sum(case when status = 4 then 1 else 0 end),
sum(case when status = 5 then 1 else 0 end),
sum(case when status = 6 then 1 else 0 end),
sum(case when status = 7 then 1 else 0 end)
SELECT COUNT(*),
COALESCE(SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 4 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 5 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 6 THEN 1 ELSE 0 END),0),
COALESCE(SUM(CASE WHEN status = 7 THEN 1 ELSE 0 END),0)
FROM tasks
`).Scan(&data.Stats.TotalCount, &data.Stats.UnknownCount, &data.Stats.FailedCount, &data.Stats.SuccessCount, &data.Stats.RunningCount, &data.Stats.QueuedCount, &data.Stats.AssignedCount, &data.Stats.PausedCount, &data.Stats.WaitingCount)
if err != nil {