]> ruin.nu Git - ndwebbie.git/blob - database/functions/forum_posts.sql
Clean up database directory
[ndwebbie.git] / database / functions / forum_posts.sql
1 CREATE OR REPLACE FUNCTION update_forum_thread_posts() RETURNS trigger
2         AS $$
3 BEGIN
4
5         IF TG_OP = 'INSERT' THEN
6                 UPDATE forum_threads SET posts = posts + 1, mtime = GREATEST(NEW.time,mtime)
7                         WHERE ftid = NEW.ftid;
8         ELSIF TG_OP = 'DELETE' THEN
9                 UPDATE forum_threads SET posts = posts - 1 WHERE ftid = OLD.ftid;
10         ELSIF TG_OP = 'UPDATE' AND NEW.ftid <> OLD.ftid THEN
11                 UPDATE forum_threads SET posts = posts - 1 WHERE ftid = OLD.ftid;
12                 UPDATE forum_threads SET posts = posts + 1, mtime = GREATEST(NEW.time,mtime)
13                         WHERE ftid = NEW.ftid;
14         END IF;
15
16         return NEW;
17 END;
18 $$
19         LANGUAGE plpgsql;