]> de.git.xonotic.org Git - xonotic/xonstatdb.git/blob - triggers/player_weapon_stats_ins_trg.sql
Add indexes. Rename to reflect its purpose.
[xonotic/xonstatdb.git] / triggers / player_weapon_stats_ins_trg.sql
1 CREATE OR REPLACE FUNCTION player_weapon_stats_ins()
2 RETURNS TRIGGER AS $$
3 BEGIN
4     IF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
5         INSERT INTO player_weapon_stats_2013Q2 VALUES (NEW.*);
6     ELSIF (NEW.create_dt >= DATE '2013-07-01' AND NEW.create_dt < DATE '2013-10-01') THEN
7         INSERT INTO player_weapon_stats_2013Q3 VALUES (NEW.*);
8     ELSIF (NEW.create_dt >= DATE '2013-10-01' AND NEW.create_dt < DATE '2014-01-01') THEN
9         INSERT INTO player_weapon_stats_2013Q4 VALUES (NEW.*);
10
11     -- 2014
12     ELSIF (NEW.create_dt >= DATE '2014-01-01' AND NEW.create_dt < DATE '2014-04-01') THEN
13         INSERT INTO player_weapon_stats_2014Q1 VALUES (NEW.*);
14     ELSIF (NEW.create_dt >= DATE '2014-04-01' AND NEW.create_dt < DATE '2014-07-01') THEN
15         INSERT INTO player_weapon_stats_2014Q2 VALUES (NEW.*);
16     ELSIF (NEW.create_dt >= DATE '2014-07-01' AND NEW.create_dt < DATE '2014-10-01') THEN
17         INSERT INTO player_weapon_stats_2014Q3 VALUES (NEW.*);
18     ELSIF (NEW.create_dt >= DATE '2014-10-01' AND NEW.create_dt < DATE '2015-01-01') THEN
19         INSERT INTO player_weapon_stats_2014Q4 VALUES (NEW.*);
20
21     ELSE
22         RAISE EXCEPTION 'Date out of range.  Fix the player_weapon_stats_ins() trigger!';
23     END IF;
24     RETURN NULL;
25 END;
26 $$
27 LANGUAGE plpgsql;
28
29 DROP TRIGGER IF EXISTS player_weapon_stats_ins_trg ON xonstat.player_weapon_stats;
30 CREATE TRIGGER player_weapon_stats_ins_trg
31     BEFORE INSERT on xonstat.player_weapon_stats
32     FOR EACH ROW EXECUTE PROCEDURE player_weapon_stats_ins();