]> de.git.xonotic.org Git - xonotic/xonstatdb.git/blob - triggers/team_game_stats_ins_trg.sql
a4b79e61290551f8336826f3558b28ad0789c826
[xonotic/xonstatdb.git] / triggers / team_game_stats_ins_trg.sql
1 CREATE OR REPLACE FUNCTION team_game_stats_ins()
2 RETURNS TRIGGER AS $$
3 BEGIN
4     -- 2013
5     IF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
6         INSERT INTO team_game_stats_2013Q2 VALUES (NEW.*);
7     ELSIF (NEW.create_dt >= DATE '2013-07-01' AND NEW.create_dt < DATE '2013-10-01') THEN
8         INSERT INTO team_game_stats_2013Q3 VALUES (NEW.*);
9     ELSIF (NEW.create_dt >= DATE '2013-10-01' AND NEW.create_dt < DATE '2013-01-01') THEN
10         INSERT INTO team_game_stats_2013Q4 VALUES (NEW.*);
11
12     -- 2014
13     ELSIF (NEW.create_dt >= DATE '2014-01-01' AND NEW.create_dt < DATE '2014-04-01') THEN
14         INSERT INTO team_game_stats_2014Q1 VALUES (NEW.*);
15     ELSIF (NEW.create_dt >= DATE '2014-04-01' AND NEW.create_dt < DATE '2014-07-01') THEN
16         INSERT INTO team_game_stats_2014Q2 VALUES (NEW.*);
17     ELSIF (NEW.create_dt >= DATE '2014-07-01' AND NEW.create_dt < DATE '2014-10-01') THEN
18         INSERT INTO team_game_stats_2014Q3 VALUES (NEW.*);
19     ELSIF (NEW.create_dt >= DATE '2014-10-01' AND NEW.create_dt < DATE '2015-10-01') THEN
20         INSERT INTO team_game_stats_2014Q4 VALUES (NEW.*);
21
22     ELSE
23         RAISE EXCEPTION 'Date out of range.  Fix the team_game_stats_ins() trigger!';
24     END IF;
25     RETURN NULL;
26 END;
27 $$
28 LANGUAGE plpgsql;
29
30 DROP TRIGGER IF EXISTS team_game_stats_ins_trg ON xonstat.team_game_stats;
31 CREATE TRIGGER team_game_stats_ins_trg
32     BEFORE INSERT on xonstat.team_game_stats
33     FOR EACH ROW EXECUTE PROCEDURE team_game_stats_ins();