diff --git a/database/query/profiles.sql b/database/query/profiles.sql index 5f528b9ebd..e6ed815ebb 100644 --- a/database/query/profiles.sql +++ b/database/query/profiles.sql @@ -65,9 +65,9 @@ SELECT * FROM profiles WHERE lower(name) = lower(sqlc.arg(name)) AND project_id -- name: ListProfilesByProjectID :many WITH helper AS( SELECT pr.id as profid, - ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) FILTER (WHERE ps.id IS NOT NULL) AS selectors + ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) AS selectors FROM profiles pr - LEFT JOIN profile_selectors ps + JOIN profile_selectors ps ON pr.id = ps.profile_id WHERE pr.project_id = $1 GROUP BY pr.id @@ -78,15 +78,15 @@ SELECT helper.selectors::profile_selector[] AS profiles_with_selectors FROM profiles JOIN profiles_with_entity_profiles ON profiles.id = profiles_with_entity_profiles.profid -JOIN helper ON profiles.id = helper.profid +LEFT JOIN helper ON profiles.id = helper.profid WHERE profiles.project_id = $1; -- name: ListProfilesByProjectIDAndLabel :many WITH helper AS( SELECT pr.id as profid, - ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) FILTER (WHERE ps.id IS NOT NULL) AS selectors + ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) AS selectors FROM profiles pr - LEFT JOIN profile_selectors ps + JOIN profile_selectors ps ON pr.id = ps.profile_id WHERE pr.project_id = $1 GROUP BY pr.id @@ -96,7 +96,7 @@ SELECT sqlc.embed(profiles), helper.selectors::profile_selector[] AS profiles_with_selectors FROM profiles JOIN profiles_with_entity_profiles ON profiles.id = profiles_with_entity_profiles.profid -JOIN helper ON profiles.id = helper.profid +LEFT JOIN helper ON profiles.id = helper.profid WHERE profiles.project_id = $1 AND ( -- the most common case first, if the include_labels is empty, we list profiles with no labels diff --git a/internal/db/profiles.sql.go b/internal/db/profiles.sql.go index 07b530bbcc..bcb1b2d201 100644 --- a/internal/db/profiles.sql.go +++ b/internal/db/profiles.sql.go @@ -360,9 +360,9 @@ func (q *Queries) GetProfileForEntity(ctx context.Context, arg GetProfileForEnti const listProfilesByProjectID = `-- name: ListProfilesByProjectID :many WITH helper AS( SELECT pr.id as profid, - ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) FILTER (WHERE ps.id IS NOT NULL) AS selectors + ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) AS selectors FROM profiles pr - LEFT JOIN profile_selectors ps + JOIN profile_selectors ps ON pr.id = ps.profile_id WHERE pr.project_id = $1 GROUP BY pr.id @@ -373,7 +373,7 @@ SELECT helper.selectors::profile_selector[] AS profiles_with_selectors FROM profiles JOIN profiles_with_entity_profiles ON profiles.id = profiles_with_entity_profiles.profid -JOIN helper ON profiles.id = helper.profid +LEFT JOIN helper ON profiles.id = helper.profid WHERE profiles.project_id = $1 ` @@ -430,9 +430,9 @@ func (q *Queries) ListProfilesByProjectID(ctx context.Context, projectID uuid.UU const listProfilesByProjectIDAndLabel = `-- name: ListProfilesByProjectIDAndLabel :many WITH helper AS( SELECT pr.id as profid, - ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) FILTER (WHERE ps.id IS NOT NULL) AS selectors + ARRAY_AGG(ROW(ps.id, ps.profile_id, ps.entity, ps.selector, ps.comment)::profile_selector) AS selectors FROM profiles pr - LEFT JOIN profile_selectors ps + JOIN profile_selectors ps ON pr.id = ps.profile_id WHERE pr.project_id = $1 GROUP BY pr.id @@ -442,7 +442,7 @@ SELECT profiles.id, profiles.name, profiles.provider, profiles.project_id, profi helper.selectors::profile_selector[] AS profiles_with_selectors FROM profiles JOIN profiles_with_entity_profiles ON profiles.id = profiles_with_entity_profiles.profid -JOIN helper ON profiles.id = helper.profid +LEFT JOIN helper ON profiles.id = helper.profid WHERE profiles.project_id = $1 AND ( -- the most common case first, if the include_labels is empty, we list profiles with no labels