Files
query-orchestration/database/queries/document.sql
T
Michael McGuinness 08d2296717 Merged in feature/e2etest (pull request #74)
Feature/e2etest

* e2etest

* testcleanups
2025-02-21 17:05:37 +00:00

30 lines
931 B
SQL

-- name: GetDocument :one
SELECT id, jobId, hash FROM documents WHERE id = $1 LIMIT 1;
-- name: ListDocumentsByJobId :many
WITH docs as (
SELECT id from documents where jobId = @jobId
),
entries as (
SELECT
de.documentId,
de.bucket,
de.key,
ROW_NUMBER() OVER (PARTITION BY de.documentId ORDER BY de.id DESC) as rowNumber
FROM docs d
JOIN documentEntries de on d.id = de.documentId
)
SELECT documentId as id, bucket, key from entries WHERE rowNumber = 1;
-- name: CreateDocument :one
INSERT INTO documents (jobId, hash) VALUES ($1, $2) RETURNING id;
-- name: AddDocumentEntry :exec
INSERT INTO documentEntries (documentId, bucket, key) VALUES ($1, $2, $3);
-- name: GetDocumentEntry :one
SELECT documentId, bucket, key FROM documentEntries WHERE documentId = $1 ORDER BY id DESC LIMIT 1;
-- name: GetDocumentIDByHash :one
SELECT id FROM documents WHERE hash = $1 and jobId = $2;