CREATE INDEX player_game_stats_ix03 on player_game_stats(player_id);
ALTER TABLE xonstat.player_game_stats OWNER TO xonstat;
+-- 2011
CREATE TABLE xonstat.player_game_stats_2011Q2 (
CHECK ( create_dt >= DATE '2011-04-01' AND create_dt < DATE '2011-07-01' )
) INHERITS (player_game_stats);
ALTER TABLE xonstat.player_game_stats_2011Q4 OWNER TO xonstat;
+-- 2012
CREATE TABLE xonstat.player_game_stats_2012Q1 (
CHECK ( create_dt >= DATE '2012-01-01' AND create_dt < DATE '2012-04-01' )
) INHERITS (player_game_stats);
ALTER TABLE xonstat.player_game_stats_2012Q4 OWNER TO xonstat;
+-- 2013
CREATE TABLE xonstat.player_game_stats_2013Q1 (
CHECK ( create_dt >= DATE '2013-01-01' AND create_dt < DATE '2013-04-01' )
) INHERITS (player_game_stats);
CREATE INDEX player_game_stats_2013Q2_ix02 on player_game_stats_2013Q2(game_id);
CREATE INDEX player_game_stats_2013Q2_ix03 on player_game_stats_2013Q2(player_id);
ALTER TABLE xonstat.player_game_stats_2013Q2 OWNER TO xonstat;
+
+
+CREATE TABLE xonstat.player_game_stats_2013Q3 (
+ CHECK ( create_dt >= DATE '2013-07-01' AND create_dt < DATE '2013-10-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2013Q3_ix01 on player_game_stats_2013Q3(create_dt);
+CREATE INDEX player_game_stats_2013Q3_ix02 on player_game_stats_2013Q3(game_id);
+CREATE INDEX player_game_stats_2013Q3_ix03 on player_game_stats_2013Q3(player_id);
+ALTER TABLE xonstat.player_game_stats_2013Q3 OWNER TO xonstat;
+
+
+CREATE TABLE xonstat.player_game_stats_2013Q4 (
+ CHECK ( create_dt >= DATE '2013-10-01' AND create_dt < DATE '2014-01-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2013Q4_ix01 on player_game_stats_2013Q4(create_dt);
+CREATE INDEX player_game_stats_2013Q4_ix02 on player_game_stats_2013Q4(game_id);
+CREATE INDEX player_game_stats_2013Q4_ix03 on player_game_stats_2013Q4(player_id);
+ALTER TABLE xonstat.player_game_stats_2013Q4 OWNER TO xonstat;
+
+
+-- 2014
+CREATE TABLE xonstat.player_game_stats_2014Q1 (
+ CHECK ( create_dt >= DATE '2014-01-01' AND create_dt < DATE '2014-04-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2014Q1_ix01 on player_game_stats_2014Q1(create_dt);
+CREATE INDEX player_game_stats_2014Q1_ix02 on player_game_stats_2014Q1(game_id);
+CREATE INDEX player_game_stats_2014Q1_ix03 on player_game_stats_2014Q1(player_id);
+ALTER TABLE xonstat.player_game_stats_2014Q1 OWNER TO xonstat;
+
+
+CREATE TABLE xonstat.player_game_stats_2014Q2 (
+ CHECK ( create_dt >= DATE '2014-04-01' AND create_dt < DATE '2014-07-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2014Q2_ix01 on player_game_stats_2014Q2(create_dt);
+CREATE INDEX player_game_stats_2014Q2_ix02 on player_game_stats_2014Q2(game_id);
+CREATE INDEX player_game_stats_2014Q2_ix03 on player_game_stats_2014Q2(player_id);
+ALTER TABLE xonstat.player_game_stats_2014Q2 OWNER TO xonstat;
+
+
+CREATE TABLE xonstat.player_game_stats_2014Q3 (
+ CHECK ( create_dt >= DATE '2014-07-01' AND create_dt < DATE '2014-10-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2014Q3_ix01 on player_game_stats_2014Q3(create_dt);
+CREATE INDEX player_game_stats_2014Q3_ix02 on player_game_stats_2014Q3(game_id);
+CREATE INDEX player_game_stats_2014Q3_ix03 on player_game_stats_2014Q3(player_id);
+ALTER TABLE xonstat.player_game_stats_2014Q3 OWNER TO xonstat;
+
+
+CREATE TABLE xonstat.player_game_stats_2014Q4 (
+ CHECK ( create_dt >= DATE '2014-10-01' AND create_dt < DATE '2015-01-01' )
+) INHERITS (player_game_stats);
+
+CREATE INDEX player_game_stats_2014Q4_ix01 on player_game_stats_2014Q4(create_dt);
+CREATE INDEX player_game_stats_2014Q4_ix02 on player_game_stats_2014Q4(game_id);
+CREATE INDEX player_game_stats_2014Q4_ix03 on player_game_stats_2014Q4(player_id);
+ALTER TABLE xonstat.player_game_stats_2014Q4 OWNER TO xonstat;
CREATE OR REPLACE FUNCTION player_game_stats_ins()
RETURNS TRIGGER AS $$
BEGIN
- IF (NEW.create_dt >= DATE '2011-04-01' AND NEW.create_dt < DATE '2011-07-01') THEN
- INSERT INTO player_game_stats_2011Q2 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2011-07-01' AND NEW.create_dt < DATE '2011-10-01') THEN
- INSERT INTO player_game_stats_2011Q3 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2011-10-01' AND NEW.create_dt < DATE '2012-01-01') THEN
- INSERT INTO player_game_stats_2011Q4 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2012-01-01' AND NEW.create_dt < DATE '2012-04-01') THEN
- INSERT INTO player_game_stats_2012Q1 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2012-04-01' AND NEW.create_dt < DATE '2012-07-01') THEN
- INSERT INTO player_game_stats_2012Q2 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2012-07-01' AND NEW.create_dt < DATE '2012-10-01') THEN
- INSERT INTO player_game_stats_2012Q3 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2012-10-01' AND NEW.create_dt < DATE '2013-01-01') THEN
- INSERT INTO player_game_stats_2012Q4 VALUES (NEW.*);
- ELSIF (NEW.create_dt >= DATE '2013-01-01' AND NEW.create_dt < DATE '2013-04-01') THEN
+ -- 2013
+ IF (NEW.create_dt >= DATE '2013-01-01' AND NEW.create_dt < DATE '2013-04-01') THEN
INSERT INTO player_game_stats_2013Q1 VALUES (NEW.*);
ELSIF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
INSERT INTO player_game_stats_2013Q2 VALUES (NEW.*);
+ ELSIF (NEW.create_dt >= DATE '2013-07-01' AND NEW.create_dt < DATE '2013-10-01') THEN
+ INSERT INTO player_game_stats_2013Q3 VALUES (NEW.*);
+ ELSIF (NEW.create_dt >= DATE '2013-10-01' AND NEW.create_dt < DATE '2014-01-01') THEN
+ INSERT INTO player_game_stats_2013Q4 VALUES (NEW.*);
+
+ -- 2014
+ ELSIF (NEW.create_dt >= DATE '2014-01-01' AND NEW.create_dt < DATE '2014-04-01') THEN
+ INSERT INTO player_game_stats_2014Q1 VALUES (NEW.*);
+ ELSIF (NEW.create_dt >= DATE '2014-04-01' AND NEW.create_dt < DATE '2014-07-01') THEN
+ INSERT INTO player_game_stats_2014Q2 VALUES (NEW.*);
+ ELSIF (NEW.create_dt >= DATE '2014-07-01' AND NEW.create_dt < DATE '2014-10-01') THEN
+ INSERT INTO player_game_stats_2014Q3 VALUES (NEW.*);
+ ELSIF (NEW.create_dt >= DATE '2014-10-01' AND NEW.create_dt < DATE '2015-01-01') THEN
+ INSERT INTO player_game_stats_2014Q4 VALUES (NEW.*);
+
ELSE
RAISE EXCEPTION 'Date out of range. Fix the player_game_stats_ins() trigger!';
END IF;