diff --git a/server/task.go b/server/task.go index edb2fcc..9e63980 100644 --- a/server/task.go +++ b/server/task.go @@ -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 {