1 INSERT INTO forum_categories (fcid,category) VALUES(-1000, 'Private');
2 INSERT INTO forum_boards (fcid,fbid,board) VALUES(-1000, -1999, 'Private');
4 CREATE TABLE forum_priv_access (
5 uid INTEGER REFERENCES users(uid),
6 ftid INTEGER REFERENCES forum_threads(ftid),
10 CREATE OR REPLACE FUNCTION unread_posts(IN uid int, OUT unread int, OUT "new" int) AS
12 SELECT count(*)::int AS unread
13 ,count(NULLIF(fp.time > (SELECT max(time) FROM forum_thread_visits WHERE uid = $1),FALSE))::int AS new
17 LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $1)
19 WHERE COALESCE(ft.mtime > ftv.time,TRUE)
21 fbid IN (SELECT fbid FROM forum_access WHERE gid IN (SELECT groups($1)))
22 ) OR ft.ftid IN (SELECT ftid FROM forum_priv_access WHERE uid = $1)
25 JOIN forum_posts fp USING (ftid)
26 WHERE COALESCE(fp.time > ft.time, TRUE)
27 $SQL$ LANGUAGE sql STABLE;