From a9be729e592f95f28f47c7392a22778771816d1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Sat, 18 May 2024 12:30:45 +0200 Subject: [PATCH] Manager: Convert db.SaveTaskStatus() to SQLC No functional changes. --- internal/manager/persistence/jobs.go | 17 ++++++++++++----- .../manager/persistence/sqlc/query_jobs.sql | 6 ++++++ .../manager/persistence/sqlc/query_jobs.sql.go | 18 ++++++++++++++++++ 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/internal/manager/persistence/jobs.go b/internal/manager/persistence/jobs.go index 57b21d15..6bad436c 100644 --- a/internal/manager/persistence/jobs.go +++ b/internal/manager/persistence/jobs.go @@ -572,11 +572,18 @@ func (db *DB) SaveTask(ctx context.Context, t *Task) error { } func (db *DB) SaveTaskStatus(ctx context.Context, t *Task) error { - tx := db.gormDB.WithContext(ctx). - Select("Status"). - Save(t) - if tx.Error != nil { - return taskError(tx.Error, "saving task") + queries, err := db.queries() + if err != nil { + return err + } + + err = queries.UpdateTaskStatus(ctx, sqlc.UpdateTaskStatusParams{ + UpdatedAt: db.now(), + Status: string(t.Status), + ID: int64(t.ID), + }) + if err != nil { + return taskError(err, "saving task status") } return nil } diff --git a/internal/manager/persistence/sqlc/query_jobs.sql b/internal/manager/persistence/sqlc/query_jobs.sql index bb128adc..10406051 100644 --- a/internal/manager/persistence/sqlc/query_jobs.sql +++ b/internal/manager/persistence/sqlc/query_jobs.sql @@ -88,3 +88,9 @@ UPDATE tasks SET commands = @commands, activity = @activity WHERE id=@id; + +-- name: UpdateTaskStatus :exec +UPDATE tasks SET + updated_at = @updated_at, + status = @status +WHERE id=@id; diff --git a/internal/manager/persistence/sqlc/query_jobs.sql.go b/internal/manager/persistence/sqlc/query_jobs.sql.go index 90d588c7..75e41a74 100644 --- a/internal/manager/persistence/sqlc/query_jobs.sql.go +++ b/internal/manager/persistence/sqlc/query_jobs.sql.go @@ -423,3 +423,21 @@ func (q *Queries) UpdateTask(ctx context.Context, arg UpdateTaskParams) error { ) return err } + +const updateTaskStatus = `-- name: UpdateTaskStatus :exec +UPDATE tasks SET + updated_at = ?1, + status = ?2 +WHERE id=?3 +` + +type UpdateTaskStatusParams struct { + UpdatedAt sql.NullTime + Status string + ID int64 +} + +func (q *Queries) UpdateTaskStatus(ctx context.Context, arg UpdateTaskStatusParams) error { + _, err := q.db.ExecContext(ctx, updateTaskStatus, arg.UpdatedAt, arg.Status, arg.ID) + return err +}