Add team scores table. Partition till 2015.
[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     IF (NEW.create_dt >= DATE '2011-04-01' AND NEW.create_dt < DATE '2011-07-01') THEN
5         INSERT INTO team_game_stats_2011Q2 VALUES (NEW.*);
6     ELSIF (NEW.create_dt >= DATE '2011-07-01' AND NEW.create_dt < DATE '2011-10-01') THEN
7         INSERT INTO team_game_stats_2011Q3 VALUES (NEW.*);
8     ELSIF (NEW.create_dt >= DATE '2011-10-01' AND NEW.create_dt < DATE '2012-01-01') THEN
9         INSERT INTO team_game_stats_2011Q4 VALUES (NEW.*);
10     ELSIF (NEW.create_dt >= DATE '2012-01-01' AND NEW.create_dt < DATE '2012-04-01') THEN
11         INSERT INTO team_game_stats_2012Q1 VALUES (NEW.*);
12     ELSIF (NEW.create_dt >= DATE '2012-04-01' AND NEW.create_dt < DATE '2012-07-01') THEN
13         INSERT INTO team_game_stats_2012Q2 VALUES (NEW.*);
14     ELSIF (NEW.create_dt >= DATE '2012-07-01' AND NEW.create_dt < DATE '2012-10-01') THEN
15         INSERT INTO team_game_stats_2012Q3 VALUES (NEW.*);
16     ELSIF (NEW.create_dt >= DATE '2012-10-01' AND NEW.create_dt < DATE '2013-01-01') THEN
17         INSERT INTO team_game_stats_2012Q4 VALUES (NEW.*);
18     ELSIF (NEW.create_dt >= DATE '2013-01-01' AND NEW.create_dt < DATE '2013-04-01') THEN
19         INSERT INTO team_game_stats_2013Q1 VALUES (NEW.*);
20     ELSIF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
21         INSERT INTO team_game_stats_2013Q2 VALUES (NEW.*);
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();