forked from LemmyNet/lemmy
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make sure bots aren't included in aggregate counts (LemmyNet#1705)
- Fixes LemmyNet#1648
- Loading branch information
1 parent
2966203
commit 6fbf6a6
Showing
2 changed files
with
94 additions
and
0 deletions.
There are no files selected for viewing
42 changes: 42 additions & 0 deletions
42
migrations/2021-08-16-004209_fix_remove_bots_from_aggregates/down.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
create or replace function community_aggregates_activity(i text) | ||
returns table(count_ bigint, community_id_ integer) | ||
language plpgsql | ||
as | ||
$$ | ||
begin | ||
return query | ||
select count(*), community_id | ||
from ( | ||
select c.creator_id, p.community_id from comment c | ||
inner join post p on c.post_id = p.id | ||
where c.published > ('now'::timestamp - i::interval) | ||
union | ||
select p.creator_id, p.community_id from post p | ||
where p.published > ('now'::timestamp - i::interval) | ||
) a | ||
group by community_id; | ||
end; | ||
$$; | ||
|
||
create or replace function site_aggregates_activity(i text) returns integer | ||
language plpgsql | ||
as $$ | ||
declare | ||
count_ integer; | ||
begin | ||
select count(*) | ||
into count_ | ||
from ( | ||
select c.creator_id from comment c | ||
inner join person u on c.creator_id = u.id | ||
where c.published > ('now'::timestamp - i::interval) | ||
and u.local = true | ||
union | ||
select p.creator_id from post p | ||
inner join person u on p.creator_id = u.id | ||
where p.published > ('now'::timestamp - i::interval) | ||
and u.local = true | ||
) a; | ||
return count_; | ||
end; | ||
$$; |
52 changes: 52 additions & 0 deletions
52
migrations/2021-08-16-004209_fix_remove_bots_from_aggregates/up.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
-- Make sure bots aren't included in aggregate counts | ||
|
||
create or replace function community_aggregates_activity(i text) | ||
returns table(count_ bigint, community_id_ integer) | ||
language plpgsql | ||
as | ||
$$ | ||
begin | ||
return query | ||
select count(*), community_id | ||
from ( | ||
select c.creator_id, p.community_id from comment c | ||
inner join post p on c.post_id = p.id | ||
inner join person pe on c.creator_id = pe.id | ||
where c.published > ('now'::timestamp - i::interval) | ||
and pe.bot_account = false | ||
union | ||
select p.creator_id, p.community_id from post p | ||
inner join person pe on p.creator_id = pe.id | ||
where p.published > ('now'::timestamp - i::interval) | ||
and pe.bot_account = false | ||
) a | ||
group by community_id; | ||
end; | ||
$$; | ||
|
||
create or replace function site_aggregates_activity(i text) returns integer | ||
language plpgsql | ||
as $$ | ||
declare | ||
count_ integer; | ||
begin | ||
select count(*) | ||
into count_ | ||
from ( | ||
select c.creator_id from comment c | ||
inner join person u on c.creator_id = u.id | ||
inner join person pe on c.creator_id = pe.id | ||
where c.published > ('now'::timestamp - i::interval) | ||
and u.local = true | ||
and pe.bot_account = false | ||
union | ||
select p.creator_id from post p | ||
inner join person u on p.creator_id = u.id | ||
inner join person pe on p.creator_id = pe.id | ||
where p.published > ('now'::timestamp - i::interval) | ||
and u.local = true | ||
and pe.bot_account = false | ||
) a; | ||
return count_; | ||
end; | ||
$$; |