From 265b967f6b030e43c06409983141d40add784eda Mon Sep 17 00:00:00 2001 From: agatha Date: Wed, 6 May 2026 18:42:50 +0000 Subject: [PATCH] Fix: Use WHERE instead of HAVING for min_count filter in list_tags() HAVING requires GROUP BY; count_subq is a correlated scalar subquery, not an aggregate, so PostgreSQL rejects it. WHERE works correctly and the integration tests used SQLite which is permissive about this rule. Co-Authored-By: Claude Sonnet 4.6 --- api/app/repositories/tag_repo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/app/repositories/tag_repo.py b/api/app/repositories/tag_repo.py index ff5eb8d..911b656 100644 --- a/api/app/repositories/tag_repo.py +++ b/api/app/repositories/tag_repo.py @@ -90,7 +90,7 @@ class TagRepository: if prefix: query = query.where(Tag.name.like(f"{prefix}%")) if min_count > 0: - query = query.having(count_subq >= min_count) + query = query.where(count_subq >= min_count) total_query = select(func.count()).select_from(query.subquery()) total_result = await self._session.execute(total_query)