]> Untitled Git - lemmy.git/blob - migrations/2021-02-13-210612_set_correct_aggregates_time_columns/up.sql
Fixing broken SQL migration formatting. (#3800)
[lemmy.git] / migrations / 2021-02-13-210612_set_correct_aggregates_time_columns / up.sql
1 -- The published and updated columns on the aggregates tables are using now(),
2 -- when they should use the correct published or updated columns
3 -- This is mainly a problem with federated posts being fetched
4 CREATE OR REPLACE FUNCTION comment_aggregates_comment ()
5     RETURNS TRIGGER
6     LANGUAGE plpgsql
7     AS $$
8 BEGIN
9     IF (TG_OP = 'INSERT') THEN
10         INSERT INTO comment_aggregates (comment_id, published)
11             VALUES (NEW.id, NEW.published);
12     ELSIF (TG_OP = 'DELETE') THEN
13         DELETE FROM comment_aggregates
14         WHERE comment_id = OLD.id;
15     END IF;
16     RETURN NULL;
17 END
18 $$;
19
20 CREATE OR REPLACE FUNCTION post_aggregates_post ()
21     RETURNS TRIGGER
22     LANGUAGE plpgsql
23     AS $$
24 BEGIN
25     IF (TG_OP = 'INSERT') THEN
26         INSERT INTO post_aggregates (post_id, published, newest_comment_time, newest_comment_time_necro)
27             VALUES (NEW.id, NEW.published, NEW.published, NEW.published);
28     ELSIF (TG_OP = 'DELETE') THEN
29         DELETE FROM post_aggregates
30         WHERE post_id = OLD.id;
31     END IF;
32     RETURN NULL;
33 END
34 $$;
35
36 CREATE OR REPLACE FUNCTION community_aggregates_community ()
37     RETURNS TRIGGER
38     LANGUAGE plpgsql
39     AS $$
40 BEGIN
41     IF (TG_OP = 'INSERT') THEN
42         INSERT INTO community_aggregates (community_id, published)
43             VALUES (NEW.id, NEW.published);
44     ELSIF (TG_OP = 'DELETE') THEN
45         DELETE FROM community_aggregates
46         WHERE community_id = OLD.id;
47     END IF;
48     RETURN NULL;
49 END
50 $$;
51