Files
query-orchestration/database/queries/clean.sql
T

40 lines
1.1 KiB
SQL
Raw Normal View History

2025-02-28 13:11:53 +00:00
-- name: HasDocumentCleanEntry :one
SELECT EXISTS(
2025-02-28 13:11:53 +00:00
SELECT 1 FROM currentCleanEntries WHERE documentId = @documentId
);
-- name: GetCleanEntry :one
SELECT id, documentId, bucket, key, version, mimetype, fail
FROM currentCleanEntries
WHERE id = @cleanId;
-- name: GetCleanEntryByDocId :one
2025-02-28 13:11:53 +00:00
SELECT id, documentId, bucket, key, version, mimetype, fail
FROM currentCleanEntries
2025-02-28 13:11:53 +00:00
WHERE documentId = @documentId;
-- name: AddDocumentClean :one
INSERT INTO documentCleans (documentId, bucket, key, mimetype, fail) VALUES ($1, $2, $3, $4, $5) returning id;
-- name: AddDocumentCleanEntry :exec
INSERT INTO documentCleanEntries (cleanId, version) VALUES ($1, $2);
-- name: GetMostRecentDocumentCleanEntry :one
WITH cleans as (
SELECT id, documentId, bucket, key, mimetype, fail
FROM documentCleans dc
WHERE documentId = @documentId ORDER BY id DESC
)
SELECT
dc.id,
dc.documentId,
dc.bucket,
dc.key,
dce.version,
dc.mimetype,
dc.fail
FROM cleans dc
JOIN documentCleanEntries dce ON dc.id = dce.cleanId
ORDER BY dc.id DESC, dce.id DESC
LIMIT 1;