Partition player game stats through 2014.
authorAnt Zucaro <azucaro@gmail.com>
Thu, 23 May 2013 01:42:56 +0000 (21:42 -0400)
committerAnt Zucaro <azucaro@gmail.com>
Thu, 23 May 2013 01:42:56 +0000 (21:42 -0400)
tables/player_game_stats.tab
triggers/player_game_stats_ins_trg.sql

index e72e4d6..e654a76 100755 (executable)
@@ -47,6 +47,7 @@ CREATE INDEX player_game_stats_ix02 on player_game_stats(game_id);
 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);
@@ -77,6 +78,7 @@ CREATE INDEX player_game_stats_2011Q4_ix03 on player_game_stats_2011Q4(player_id
 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);
@@ -117,6 +119,7 @@ CREATE INDEX player_game_stats_2012Q4_ix03 on player_game_stats_2012Q4(player_id
 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);
@@ -135,3 +138,64 @@ CREATE INDEX player_game_stats_2013Q2_ix01 on player_game_stats_2013Q2(create_dt
 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;
index beb3f94..a74f2ea 100644 (file)
@@ -1,24 +1,26 @@
 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;