From 9f468cf01185e0d52504278ed5e36ed6b3c379c3 Mon Sep 17 00:00:00 2001 From: Shivashis Padhi Date: Thu, 28 Jul 2022 17:22:14 +0530 Subject: [PATCH] Select total message count from Channel instead of counting posts --- store/sqlstore/post_store.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/store/sqlstore/post_store.go b/store/sqlstore/post_store.go index ea5e176e91..1a71553fee 100644 --- a/store/sqlstore/post_store.go +++ b/store/sqlstore/post_store.go @@ -2978,7 +2978,7 @@ func (s *SqlPostStore) GetTopDMsForUserSince(userID string, since int64, offset aggregator = "string_agg(distinct cm.UserId, ',') as Participants" } - topDMsBuilder := s.getQueryBuilder().Select("count(p.id) as MessageCount", aggregator, "vch.Id as ChannelId").FromSelect(channelSelector, "vch"). + topDMsBuilder := s.getQueryBuilder().Select("vch.TotalMsgCount as MessageCount", aggregator, "vch.Id as ChannelId").FromSelect(channelSelector, "vch"). Join("ChannelMembers as cm on cm.ChannelId = vch.Id"). Join("Posts as p on p.ChannelId = vch.Id"). Where(sq.And{ @@ -3023,9 +3023,6 @@ func postProcessTopDMs(s *SqlPostStore, userID string, topDMs []*model.TopDM) ([ // channel with self secondParticipantId = "-1" } else { - // divide message count by 2, because it's counted twice due to channel memberships being 2 for dms. - topDM.MessageCount = topDM.MessageCount / 2 - if participants[0] == userID { secondParticipantId = participants[1] } else {