Files
minstrel/internal/db/dbq/scan_runs.sql.go
T
bvandeusenandClaude Opus 5.5 1d4ef1a23f docs: query comments say what each query selects and why, not how it came to be (#6277)
Rewrites the internal/db/queries comments to rule 32 and regenerates
dbq, whose doc comments and embedded SQL carry them. The bugs behind the
tiered mixes, the md5 order seed, the score bands and the round-robin
arms are restated as the constraint each one enforces; counts from one
library and stale cross-references are gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 12:31:13 -04:00

171 lines
4.6 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: scan_runs.sql
package dbq
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const finishScanRun = `-- name: FinishScanRun :exec
UPDATE scan_runs
SET finished_at = now(),
error_message = NULLIF($2::text, '')
WHERE id = $1
`
type FinishScanRunParams struct {
ID pgtype.UUID
Column2 string
}
// Closes the row. error_message is non-empty only when a fatal error
// aborted the chain before normal completion.
func (q *Queries) FinishScanRun(ctx context.Context, arg FinishScanRunParams) error {
_, err := q.db.Exec(ctx, finishScanRun, arg.ID, arg.Column2)
return err
}
const getInFlightScanRun = `-- name: GetInFlightScanRun :one
SELECT id, started_at
FROM scan_runs
WHERE finished_at IS NULL
ORDER BY started_at DESC
LIMIT 1
`
type GetInFlightScanRunRow struct {
ID pgtype.UUID
StartedAt pgtype.Timestamptz
}
// Used by POST /api/admin/scan/run to 409 when a scan is already running.
// "In flight" = finished_at IS NULL.
func (q *Queries) GetInFlightScanRun(ctx context.Context) (GetInFlightScanRunRow, error) {
row := q.db.QueryRow(ctx, getInFlightScanRun)
var i GetInFlightScanRunRow
err := row.Scan(&i.ID, &i.StartedAt)
return i, err
}
const getLatestScanRun = `-- name: GetLatestScanRun :one
SELECT id, started_at, finished_at, library, mbid_backfill, cover_enrich, artist_art_enrich, error_message
FROM scan_runs
ORDER BY started_at DESC
LIMIT 1
`
type GetLatestScanRunRow struct {
ID pgtype.UUID
StartedAt pgtype.Timestamptz
FinishedAt pgtype.Timestamptz
Library []byte
MbidBackfill []byte
CoverEnrich []byte
ArtistArtEnrich []byte
ErrorMessage *string
}
// Powers GET /api/admin/scan/status. Returns NoRows when no scan has
// ever run; the API layer maps that to a 200 with empty payload.
func (q *Queries) GetLatestScanRun(ctx context.Context) (GetLatestScanRunRow, error) {
row := q.db.QueryRow(ctx, getLatestScanRun)
var i GetLatestScanRunRow
err := row.Scan(
&i.ID,
&i.StartedAt,
&i.FinishedAt,
&i.Library,
&i.MbidBackfill,
&i.CoverEnrich,
&i.ArtistArtEnrich,
&i.ErrorMessage,
)
return i, err
}
const insertScanRun = `-- name: InsertScanRun :one
INSERT INTO scan_runs DEFAULT VALUES RETURNING id, started_at
`
type InsertScanRunRow struct {
ID pgtype.UUID
StartedAt pgtype.Timestamptz
}
// Scan-run lifecycle queries.
// Creates a new scan_runs row with started_at=now(). Stages are filled in
// as each completes via UpdateScanRunStage; finished_at is set by FinishScanRun.
func (q *Queries) InsertScanRun(ctx context.Context) (InsertScanRunRow, error) {
row := q.db.QueryRow(ctx, insertScanRun)
var i InsertScanRunRow
err := row.Scan(&i.ID, &i.StartedAt)
return i, err
}
const updateScanRunArtistArtEnrich = `-- name: UpdateScanRunArtistArtEnrich :exec
UPDATE scan_runs
SET artist_art_enrich = $2
WHERE id = $1
`
type UpdateScanRunArtistArtEnrichParams struct {
ID pgtype.UUID
ArtistArtEnrich []byte
}
// Persists the artist-art enrich stage tally JSON.
func (q *Queries) UpdateScanRunArtistArtEnrich(ctx context.Context, arg UpdateScanRunArtistArtEnrichParams) error {
_, err := q.db.Exec(ctx, updateScanRunArtistArtEnrich, arg.ID, arg.ArtistArtEnrich)
return err
}
const updateScanRunCoverEnrich = `-- name: UpdateScanRunCoverEnrich :exec
UPDATE scan_runs SET cover_enrich = $2 WHERE id = $1
`
type UpdateScanRunCoverEnrichParams struct {
ID pgtype.UUID
CoverEnrich []byte
}
func (q *Queries) UpdateScanRunCoverEnrich(ctx context.Context, arg UpdateScanRunCoverEnrichParams) error {
_, err := q.db.Exec(ctx, updateScanRunCoverEnrich, arg.ID, arg.CoverEnrich)
return err
}
const updateScanRunLibrary = `-- name: UpdateScanRunLibrary :exec
UPDATE scan_runs SET library = $2 WHERE id = $1
`
type UpdateScanRunLibraryParams struct {
ID pgtype.UUID
Library []byte
}
// Persists the file-walk stage's tallies. Idempotent — overwrites prior
// value if the orchestrator re-runs the stage on retry.
func (q *Queries) UpdateScanRunLibrary(ctx context.Context, arg UpdateScanRunLibraryParams) error {
_, err := q.db.Exec(ctx, updateScanRunLibrary, arg.ID, arg.Library)
return err
}
const updateScanRunMbidBackfill = `-- name: UpdateScanRunMbidBackfill :exec
UPDATE scan_runs SET mbid_backfill = $2 WHERE id = $1
`
type UpdateScanRunMbidBackfillParams struct {
ID pgtype.UUID
MbidBackfill []byte
}
func (q *Queries) UpdateScanRunMbidBackfill(ctx context.Context, arg UpdateScanRunMbidBackfillParams) error {
_, err := q.db.Exec(ctx, updateScanRunMbidBackfill, arg.ID, arg.MbidBackfill)
return err
}