You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lemmy/migrations/2021-08-16-004209_fix_remov.../down.sql

43 lines
1.0 KiB
PL/PgSQL

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;
$$;