Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix aggregates time columns 2 (#1427)
* Adding a new comment sort. Fixes #1294 * Fixing a migration comment. * Adding a comment for newest_comment_time_necro * Make sure federated items set correct aggregates fields in trigger. - Fixes #1402
- Loading branch information
1 parent
0c4b57a
commit 8088055
Showing
2 changed files
with
74 additions
and
0 deletions.
There are no files selected for viewing
35 changes: 35 additions & 0 deletions
35
migrations/2021-02-13-210612_set_correct_aggregates_time_columns/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,35 @@ | ||
create or replace function comment_aggregates_comment() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into comment_aggregates (comment_id) values (NEW.id); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from comment_aggregates where comment_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; | ||
|
||
create or replace function post_aggregates_post() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into post_aggregates (post_id) values (NEW.id); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from post_aggregates where post_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; | ||
|
||
create or replace function community_aggregates_community() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into community_aggregates (community_id) values (NEW.id); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from community_aggregates where community_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; |
39 changes: 39 additions & 0 deletions
39
migrations/2021-02-13-210612_set_correct_aggregates_time_columns/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,39 @@ | ||
-- The published and updated columns on the aggregates tables are using now(), | ||
-- when they should use the correct published or updated columns | ||
-- This is mainly a problem with federated posts being fetched | ||
|
||
create or replace function comment_aggregates_comment() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into comment_aggregates (comment_id, published) values (NEW.id, NEW.published); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from comment_aggregates where comment_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; | ||
|
||
create or replace function post_aggregates_post() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into post_aggregates (post_id, published, newest_comment_time, newest_comment_time_necro) values (NEW.id, NEW.published, NEW.published, NEW.published); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from post_aggregates where post_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; | ||
|
||
create or replace function community_aggregates_community() | ||
returns trigger language plpgsql | ||
as $$ | ||
begin | ||
IF (TG_OP = 'INSERT') THEN | ||
insert into community_aggregates (community_id, published) values (NEW.id, NEW.published); | ||
ELSIF (TG_OP = 'DELETE') THEN | ||
delete from community_aggregates where community_id = OLD.id; | ||
END IF; | ||
return null; | ||
end $$; |