chainloop
chainloop copied to clipboard
improve contract-versions queries
query 1
The following query is called quite often during the attestation process or even more taking into account the numbers shown by performance insights.
SELECT DISTINCT "workflow_contract_versions"."id", "workflow_contract_versions"."body", "workflow_contract_versions"."raw_body", "workflow_contract_versions"."raw_body_format", "workflow_contract_versions"."revision", "workflow_contract_versions"."created_at" FROM "workflow_contract_versions" WHERE "workflow_contract_versions" = $1 ORDER BY "workflow_contract_versions"."revision" DESC LIMIT 1
This query could be removed if we denormalize the latest-contract-version and add it to the workflow.
Query 2
A related query is
SELECT "workflow_contract_versions"."id", "workflow_contract_versions"."body", "workflow_contract_versions"."raw_body", "workflow_contract_versions"."raw_body_format", "workflow_contract_versions"."revision", "workflow_contract_versions"."created_at" FROM "workflow_contract_versions" WHERE "workflow_contract_versions"."id" IN ($1)
Executed less times, and that potentially could use some performance improvements.