Files
query-orchestration/internal/database/queries/clean.sql
T
Michael McGuinness 53ea7d34e6 Merged in feature/textextract (pull request #108)
Start adding Textract + UUID changes

* base

* startclient

* ts

* short

* tests
2025-03-20 11:06:41 +00:00

40 lines
1.1 KiB
SQL

-- name: HasDocumentCleanEntry :one
SELECT EXISTS(
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
SELECT id, documentId, bucket, key, version, mimetype, fail
FROM currentCleanEntries
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;