@@ -55,7 +55,6 @@ WITH latest_prebuilds AS (
55
55
workspaces .name ,
56
56
workspaces .template_id ,
57
57
workspace_latest_builds .template_version_id ,
58
- workspace_latest_builds .template_version_preset_id ,
59
58
workspace_latest_builds .job_id ,
60
59
workspaces .created_at
61
60
FROM workspace_latest_builds
@@ -65,6 +64,16 @@ WITH latest_prebuilds AS (
65
64
AND workspaces .owner_id = ' c42fdf75-3097-471c-8c33-fb52454d81c0' ::UUID
66
65
AND NOT workspaces .deleted
67
66
),
67
+ workspace_latest_presets AS (
68
+ SELECT DISTINCT ON (latest_prebuilds .id )
69
+ latest_prebuilds .id AS workspace_id,
70
+ workspace_builds .template_version_preset_id AS current_preset_id
71
+ FROM latest_prebuilds
72
+ JOIN workspace_builds ON workspace_builds .workspace_id = latest_prebuilds .id
73
+ WHERE workspace_builds .transition = ' start' ::workspace_transition
74
+ AND workspace_builds .template_version_preset_id IS NOT NULL
75
+ ORDER BY latest_prebuilds .id , workspace_builds .build_number DESC
76
+ ),
68
77
ready_agents AS (
69
78
SELECT
70
79
latest_prebuilds .job_id ,
@@ -81,12 +90,12 @@ SELECT
81
90
latest_prebuilds .name ,
82
91
latest_prebuilds .template_id ,
83
92
latest_prebuilds .template_version_id ,
84
- -- TODO(cian): this can be null, which differs from prebuilt_workspaces view.
85
- latest_prebuilds .template_version_preset_id AS current_preset_id,
93
+ workspace_latest_presets .current_preset_id ,
86
94
COALESCE(ready_agents .ready , false)::boolean AS ready,
87
95
latest_prebuilds .created_at
88
96
FROM latest_prebuilds
89
97
LEFT JOIN ready_agents ON ready_agents .job_id = latest_prebuilds .job_id
98
+ LEFT JOIN workspace_latest_presets ON workspace_latest_presets .workspace_id = latest_prebuilds .id
90
99
;
91
100
92
101
-- name: CountInProgressPrebuilds :many
0 commit comments