Files
Memoh/internal/db/sqlc/versions.sql.go
T
BBQ 21999b49f4 feat(container): add explicit data workflows and snapshot rollback (#193)
* feat(container): add explicit data workflows and snapshot rollback

Make container upgrades and recreation data-safe by adding explicit preserve, export, import, restore, and rollback flows across the backend, SDK, and web UI.

* fix(container): resolve go lint issues

Fix formatting and lint violations introduced by the container data workflow changes so the Go CI lint job passes cleanly.
2026-03-06 17:57:48 +08:00

126 lines
3.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: versions.sql
package sqlc
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const getVersionSnapshotRuntimeName = `-- name: GetVersionSnapshotRuntimeName :one
SELECT s.runtime_snapshot_name
FROM container_versions cv
JOIN snapshots s ON s.id = cv.snapshot_id
WHERE cv.container_id = $1
AND cv.version = $2
`
type GetVersionSnapshotRuntimeNameParams struct {
ContainerID string `json:"container_id"`
Version int32 `json:"version"`
}
func (q *Queries) GetVersionSnapshotRuntimeName(ctx context.Context, arg GetVersionSnapshotRuntimeNameParams) (string, error) {
row := q.db.QueryRow(ctx, getVersionSnapshotRuntimeName, arg.ContainerID, arg.Version)
var runtime_snapshot_name string
err := row.Scan(&runtime_snapshot_name)
return runtime_snapshot_name, err
}
const insertVersion = `-- name: InsertVersion :one
INSERT INTO container_versions (container_id, snapshot_id, version)
VALUES (
$1,
$2,
$3
)
RETURNING id, container_id, snapshot_id, version, created_at
`
type InsertVersionParams struct {
ContainerID string `json:"container_id"`
SnapshotID pgtype.UUID `json:"snapshot_id"`
Version int32 `json:"version"`
}
func (q *Queries) InsertVersion(ctx context.Context, arg InsertVersionParams) (ContainerVersion, error) {
row := q.db.QueryRow(ctx, insertVersion, arg.ContainerID, arg.SnapshotID, arg.Version)
var i ContainerVersion
err := row.Scan(
&i.ID,
&i.ContainerID,
&i.SnapshotID,
&i.Version,
&i.CreatedAt,
)
return i, err
}
const listVersionsByContainerID = `-- name: ListVersionsByContainerID :many
SELECT
cv.id,
cv.container_id,
cv.snapshot_id,
cv.version,
cv.created_at,
s.runtime_snapshot_name,
s.display_name
FROM container_versions cv
JOIN snapshots s ON s.id = cv.snapshot_id
WHERE cv.container_id = $1
ORDER BY cv.version ASC
`
type ListVersionsByContainerIDRow struct {
ID pgtype.UUID `json:"id"`
ContainerID string `json:"container_id"`
SnapshotID pgtype.UUID `json:"snapshot_id"`
Version int32 `json:"version"`
CreatedAt pgtype.Timestamptz `json:"created_at"`
RuntimeSnapshotName string `json:"runtime_snapshot_name"`
DisplayName pgtype.Text `json:"display_name"`
}
func (q *Queries) ListVersionsByContainerID(ctx context.Context, containerID string) ([]ListVersionsByContainerIDRow, error) {
rows, err := q.db.Query(ctx, listVersionsByContainerID, containerID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []ListVersionsByContainerIDRow
for rows.Next() {
var i ListVersionsByContainerIDRow
if err := rows.Scan(
&i.ID,
&i.ContainerID,
&i.SnapshotID,
&i.Version,
&i.CreatedAt,
&i.RuntimeSnapshotName,
&i.DisplayName,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const nextVersion = `-- name: NextVersion :one
SELECT COALESCE(MAX(version), 0) + 1 FROM container_versions WHERE container_id = $1
`
func (q *Queries) NextVersion(ctx context.Context, containerID string) (int32, error) {
row := q.db.QueryRow(ctx, nextVersion, containerID)
var column_1 int32
err := row.Scan(&column_1)
return column_1, err
}