From 886b3b33e3787c1f4c86439ad56b2c7f0519a359 Mon Sep 17 00:00:00 2001 From: AarDG10 Date: Thu, 6 Nov 2025 10:54:07 +0530 Subject: [PATCH] fix(reportview): remove redundant DISTINCT in get_count for postgres --- frappe/desk/reportview.py | 3 +-- frappe/tests/test_db_query.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index c56bcdadb1..760cfdc3f3 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -60,9 +60,8 @@ def get_count() -> int | None: return frappe.call(controller.get_count, args=args, **args) args.distinct = sbool(args.distinct) - distinct = "distinct " if args.distinct else "" args.limit = cint(args.limit) - fieldname = f"{distinct}`tab{args.doctype}`.name" + fieldname = f"`tab{args.doctype}`.name" args.order_by = None # args.limit is specified to avoid getting accurate count. diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index 36cab4f43d..03ef9bfb65 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -1244,7 +1244,6 @@ class TestDBQuery(IntegrationTestCase): class TestReportView(IntegrationTestCase): - @run_only_if(db_type_is.MARIADB) # TODO: postgres name casting is messed up def test_get_count(self): frappe.local.request = frappe._dict() frappe.local.request.method = "GET" @@ -1282,7 +1281,7 @@ class TestReportView(IntegrationTestCase): child_filter_response = execute_cmd("frappe.desk.reportview.get_count") current_value = frappe.db.sql( # the below query is equivalent to the one in reportview.get_count - "select distinct count(distinct `tabDocType`.name) as total_count" + "select count(distinct `tabDocType`.name) as total_count" " from `tabDocType` left join `tabDocField`" " on (`tabDocField`.parenttype = 'DocType' and `tabDocField`.parent = `tabDocType`.name)" " where `tabDocField`.`fieldtype` = 'Data'"