From 7313845be7dbd321b940de4470814104f78fc506 Mon Sep 17 00:00:00 2001 From: Abhishek Shroff Date: Sun, 22 Jun 2025 21:07:46 +0530 Subject: [PATCH] [server][steve] Only return info from list query --- server/internal/command/admin/jobs/cmd.go | 3 +-- server/internal/steve/db.go | 25 +++++++++++------------ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/server/internal/command/admin/jobs/cmd.go b/server/internal/command/admin/jobs/cmd.go index f14b5e8a..b6bd7478 100644 --- a/server/internal/command/admin/jobs/cmd.go +++ b/server/internal/command/admin/jobs/cmd.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "os" - "time" "codeberg.org/shroff/phylum/server/internal/db" "codeberg.org/shroff/phylum/server/internal/steve" @@ -44,7 +43,7 @@ func setupListCommand() *cobra.Command { os.Exit(1) } for _, j := range jobs { - fmt.Printf("%4d %s %5s %s %s\n", j.ID, j.CreatedAt.Format(time.DateTime), j.Status.String(), j.Kind, j.EncodedArgs) + fmt.Printf("%4d %5s %s %s\n", j.ID, j.Status.String(), j.Kind, j.EncodedArgs) } } cmd.Flags().StringSlice("status-only", []string{}, "Show only jobs matching the given status(es)") diff --git a/server/internal/steve/db.go b/server/internal/steve/db.go index 1624caed..68906ab6 100644 --- a/server/internal/steve/db.go +++ b/server/internal/steve/db.go @@ -101,11 +101,14 @@ FROM cte if rows, err := db.Query(q); err != nil { return nil, err } else { - info, err := pgx.CollectExactlyOneRow(rows, scanJobInfo) - if errors.Is(err, pgx.ErrNoRows) { - err = errNoJobs + if info, err := pgx.CollectExactlyOneRow(rows, scanJobInfo); err != nil { + if errors.Is(err, pgx.ErrNoRows) { + err = errNoJobs + } + return nil, err + } else { + return &info, nil } - return info, err } } @@ -144,9 +147,9 @@ func deleteSequences(db db.Handler, jobID int32) error { return err } -func ListJobs(db db.Handler, only, exclude []JobStatus) ([]JobRow, error) { +func ListJobs(db db.Handler, only, exclude []JobStatus) ([]JobInfo, error) { qb := strings.Builder{} - qb.WriteString("SELECT id, status, attempts, created_at, scheduled_at, kind, args, errors FROM jobs") + qb.WriteString("SELECT id, status, attempts, kind, args FROM jobs") if len(only) > 0 { qb.WriteString(" WHERE status = ANY (@only::SMALLINT[])") } else if len(exclude) > 0 { @@ -161,11 +164,11 @@ func ListJobs(db db.Handler, only, exclude []JobStatus) ([]JobRow, error) { if rows, err := db.Query(qb.String(), args); err != nil { return nil, err } else { - return pgx.CollectRows(rows, (scanJobRow)) + return pgx.CollectRows(rows, scanJobInfo) } } -func scanJobInfo(row pgx.CollectableRow) (*JobInfo, error) { +func scanJobInfo(row pgx.CollectableRow) (JobInfo, error) { var job JobInfo err := row.Scan( &job.ID, @@ -174,11 +177,7 @@ func scanJobInfo(row pgx.CollectableRow) (*JobInfo, error) { &job.Kind, &job.EncodedArgs, ) - if err != nil { - return nil, err - } - - return &job, nil + return job, err } func scanJobRow(row pgx.CollectableRow) (JobRow, error) { var job JobRow