mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-09-09 16:08:49 -06:00
![Sander Saarend](/assets/img/avatar_default.png)
* Denormalize community_id into post_aggregates for a 1000x speed-up when loading posts * Remove unused index * Add creator_id to post_aggregates * Use post_aggregates as main table for PostQuery * Make post_aggregates the main table for PostView * Reformat SQL
21 lines
567 B
PL/PgSQL
21 lines
567 B
PL/PgSQL
-- This file should undo anything in `up.sql`
|
|
|
|
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
|
|
$$;
|
|
|
|
ALTER TABLE post_aggregates DROP COLUMN community_id, DROP COLUMN creator_id;
|
|
|