From 4e681a6518a1ecec487956714de0d0116b0a61c1 Mon Sep 17 00:00:00 2001 From: Gagan Trivedi Date: Wed, 25 Mar 2026 15:33:49 +0530 Subject: [PATCH] fix: use .values("id").distinct().count() in platform_hub queries The three distinct().count() queries in get_summary() fail on Oracle with ORA-00932 because FFAdminUser has TextField columns that Oracle maps to NCLOB, which cannot be used in SELECT DISTINCT. Using .values("id").distinct().count() generates SELECT DISTINCT on just the PK column, avoiding the NCLOB issue while producing identical results. --- api/platform_hub/services.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/api/platform_hub/services.py b/api/platform_hub/services.py index 53d58639d3b3..cb7820ac00ab 100644 --- a/api/platform_hub/services.py +++ b/api/platform_hub/services.py @@ -48,7 +48,10 @@ def get_summary( ).count() total_users = ( - FFAdminUser.objects.filter(organisations__in=organisations).distinct().count() + FFAdminUser.objects.filter(organisations__in=organisations) + .values("id") + .distinct() + .count() ) total_projects = Project.objects.filter(organisation__in=organisations).count() @@ -62,12 +65,16 @@ def get_summary( organisations__in=organisations, last_login__gte=cutoff, ) + .values("id") .distinct() .count() ) active_organisations = ( - organisations.filter(users__last_login__gte=cutoff).distinct().count() + organisations.filter(users__last_login__gte=cutoff) + .values("id") + .distinct() + .count() ) total_integrations = 0