mirror of
https://github.com/coder/coder.git
synced 2025-07-06 15:41:45 +00:00
Exclude system users from users.sql queries Signed-off-by: Danny Kopping <danny@coder.com>
29 lines
1.3 KiB
SQL
29 lines
1.3 KiB
SQL
-- name: GetTemplatePrebuildState :many
|
|
WITH latest_workspace_builds AS (SELECT wb.id,
|
|
wb.workspace_id,
|
|
wbmax.template_id,
|
|
wb.template_version_id
|
|
FROM (SELECT tv.template_id,
|
|
wbmax.workspace_id,
|
|
MAX(wbmax.build_number) as max_build_number
|
|
FROM workspace_builds wbmax
|
|
JOIN template_versions tv ON (tv.id = wbmax.template_version_id)
|
|
GROUP BY tv.template_id, wbmax.workspace_id) wbmax
|
|
JOIN workspace_builds wb ON (
|
|
wb.workspace_id = wbmax.workspace_id
|
|
AND wb.build_number = wbmax.max_build_number
|
|
))
|
|
-- TODO: need to store the desired instances & autoscaling schedules in db; use desired value here
|
|
SELECT CAST(1 AS integer) AS desired,
|
|
CAST(COUNT(wp.*) AS integer) AS actual,
|
|
CAST(0 AS integer) AS extraneous, -- TODO: calculate this by subtracting actual from count not matching template version
|
|
t.deleted,
|
|
t.deprecated,
|
|
tv.id AS template_version_id
|
|
FROM latest_workspace_builds lwb
|
|
JOIN template_versions tv ON lwb.template_version_id = tv.id
|
|
JOIN templates t ON t.id = lwb.template_id
|
|
LEFT JOIN workspace_prebuilds wp ON wp.id = lwb.workspace_id
|
|
WHERE t.id = @template_id::uuid
|
|
GROUP BY t.id, t.deleted, t.deprecated, tv.id;
|