2 channel VARCHAR NOT NULL,
5 PRIMARY KEY (channel, ts, name)
8 CREATE TABLE reaction_log (
9 userid VARCHAR NOT NULL,
10 channel VARCHAR NOT NULL,
12 event_type VARCHAR NOT NULL,
13 event_ts VARCHAR NOT NULL,
14 reaction VARCHAR NOT NULL
16 CREATE INDEX lookup_idx ON reaction_log USING btree (channel, ts, userid, reaction, event_ts DESC);
18 CREATE TABLE message_sheet_link (
19 channel VARCHAR NOT NULL,
21 sheet_title VARCHAR NOT NULL,
22 PRIMARY KEY (channel, ts)
25 CREATE TABLE users_nagged (
26 userid VARCHAR NOT NULL,
27 last_nag TIMESTAMP WITH TIME ZONE NOT NULL,
31 CREATE VIEW current_reactions AS
32 SELECT userid, channel, ts, reaction
33 FROM ( SELECT DISTINCT ON (channel, ts, userid, reaction)
34 userid, channel, ts, event_type, event_ts, reaction
35 FROM reaction_log ORDER BY channel, ts, userid, reaction, event_ts DESC ) t1
36 WHERE event_type = 'reaction_added';
38 GRANT SELECT,INSERT,DELETE ON TABLE applied TO skvidarlang;
39 GRANT SELECT,INSERT ON TABLE reaction_log TO skvidarlang;
40 GRANT SELECT ON TABLE current_reactions TO skvidarlang;
41 GRANT SELECT,UPDATE,INSERT ON TABLE message_sheet_link TO skvidarlang;
42 GRANT SELECT,INSERT ON TABLE users_nagged TO skvidarlang;