fix(templates): use aggregate for is_template HAVING clause for MySQL/PostgreSQL compatibility

This commit is contained in:
kolaente 2026-03-30 17:38:22 +02:00
parent b3d5eb01dc
commit 3061b8117a
1 changed files with 2 additions and 3 deletions

View File

@ -670,7 +670,7 @@ INNER JOIN all_projects ap ON p.parent_project_id = ap.id`
"all_projects.owner_id",
"CASE WHEN all_projects.parent_project_id IS NULL THEN 0 ELSE all_projects.parent_project_id END AS parent_project_id",
"MAX(CASE WHEN all_projects.is_archived THEN 1 ELSE 0 END) AS is_archived",
"all_projects.is_template",
"MAX(CASE WHEN all_projects.is_template THEN 1 ELSE 0 END) AS is_template",
"all_projects.background_file_id",
"all_projects.background_blur_hash",
"all_projects.position",
@ -688,7 +688,6 @@ INNER JOIN all_projects ap ON p.parent_project_id = ap.id`
"all_projects.parent_project_id",
"all_projects.background_file_id",
"all_projects.background_blur_hash",
"all_projects.is_template",
"all_projects.position",
"all_projects.created",
"all_projects.updated",
@ -699,7 +698,7 @@ INNER JOIN all_projects ap ON p.parent_project_id = ap.id`
havingClauses = append(havingClauses, "MAX(CASE WHEN all_projects.is_archived THEN 1 ELSE 0 END) = 0")
}
if !opts.getTemplates {
havingClauses = append(havingClauses, "all_projects.is_template = 0")
havingClauses = append(havingClauses, "MAX(CASE WHEN all_projects.is_template THEN 1 ELSE 0 END) = 0")
}
var havingFilter string
if len(havingClauses) > 0 {