opencode/internal/db/sql/messages.sql
2025-05-13 13:08:43 -05:00

45 lines
764 B
SQL

-- name: GetMessage :one
SELECT *
FROM messages
WHERE id = ? LIMIT 1;
-- name: ListMessagesBySession :many
SELECT *
FROM messages
WHERE session_id = ?
ORDER BY created_at ASC;
-- name: ListMessagesBySessionAfter :many
SELECT *
FROM messages
WHERE session_id = ? AND created_at > ?
ORDER BY created_at ASC;
-- name: CreateMessage :one
INSERT INTO messages (
id,
session_id,
role,
parts,
model
) VALUES (
?, ?, ?, ?, ?
)
RETURNING *;
-- name: UpdateMessage :exec
UPDATE messages
SET
parts = ?,
finished_at = ?,
updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')
WHERE id = ?;
-- name: DeleteMessage :exec
DELETE FROM messages
WHERE id = ?;
-- name: DeleteSessionMessages :exec
DELETE FROM messages
WHERE session_id = ?;