From 1818815d04c6b8b5f346239f82a01f36d711960c Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Mon, 24 Apr 2023 17:52:36 +0300 Subject: [PATCH] Improvement to alarm count query for distinct propagated alarms --- .../server/dao/sql/query/DefaultAlarmQueryRepository.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java index 85e3917ceb..04e978c7d4 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java @@ -312,9 +312,8 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository { public long countAlarmsByQuery(TenantId tenantId, CustomerId customerId, AlarmCountQuery query) { QueryContext ctx = new QueryContext(new QuerySecurityContext(tenantId, null, EntityType.ALARM)); - ctx.append("select count(id) from alarm_info a "); - if (query.isSearchPropagatedAlarms()) { + ctx.append("select count(distinct(a.id)) from alarm_info a "); ctx.append(JOIN_ENTITY_ALARMS); ctx.append("where a.tenant_id = :tenantId and ea.tenant_id = :tenantId"); ctx.addUuidParameter("tenantId", tenantId.getId()); @@ -323,6 +322,7 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository { ctx.addUuidParameter("customerId", customerId.getId()); } } else { + ctx.append("select count(id) from alarm_info a "); ctx.append("where a.tenant_id = :tenantId"); ctx.addUuidParameter("tenantId", tenantId.getId()); if (customerId != null && !customerId.isNullUid()) {