Skip to content

Commit

Permalink
Optimize submission keys query (#1141)
Browse files Browse the repository at this point in the history
  • Loading branch information
ktuite authored and matthew-white committed May 8, 2024
1 parent 3a525bd commit b9c50ee
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions lib/model/query/keys.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,20 @@ const getById = (keyId) => ({ maybeOne }) =>
maybeOne(sql`select * from keys where id=${keyId}`).then(map(construct(Key)));

const getActiveByFormId = (formId, draft) => ({ all }) => all(sql`
select keys.* from keys
inner join
(select "keyId" from form_defs
inner join
(select "formDefId", "submissionId" from submission_defs
where current=true and "localKey" is not null) as submission_defs
inner join
(select submissions.id from submissions where draft=${draft}) as submissions
on submissions.id=submission_defs."submissionId"
on submission_defs."formDefId"=form_defs.id
where "formId"=${formId}
group by "keyId") as form_defs
on form_defs."keyId"=keys.id
order by id desc`)
SELECT keys.* FROM keys
INNER JOIN form_defs
ON form_defs."keyId" = keys.id
INNER JOIN submission_defs
ON submission_defs."formDefId" = form_defs.id
INNER JOIN submissions
ON submissions.id = submission_defs."submissionId"
WHERE submission_defs.current = true
AND submission_defs."localKey" IS NOT NULL
AND submissions.draft = ${draft}
AND form_defs."formId" = ${formId}
AND form_defs."keyId" IS NOT NULL
GROUP BY keys.id
ORDER BY keys.id DESC`)
.then(map(construct(Key)));

const getManagedByIds = (ids) => ({ all }) =>
Expand Down

0 comments on commit b9c50ee

Please sign in to comment.