]> de.git.xonotic.org Git - xonotic/xonstatdb.git/blobdiff - tables/player_weapon_stats.tab
Merge branch 'frag-matrix'
[xonotic/xonstatdb.git] / tables / player_weapon_stats.tab
old mode 100644 (file)
new mode 100755 (executable)
index 888b547..f5bbb03
@@ -3,14 +3,14 @@ CREATE TABLE xonstat.player_weapon_stats
   player_weapon_stats_id bigserial NOT NULL,
   player_id integer NOT NULL,
   game_id bigint NOT NULL,
-  nick character varying(64),
+  player_game_stat_id bigint NOT NULL,
   weapon_cd character varying(15) NOT NULL,
   actual integer NOT NULL default 0,
   max integer NOT NULL default 0,
   hit integer NOT NULL default 0,
   fired integer NOT NULL default 0,
   frags integer NOT NULL default 0,
-  create_dt timestamp without time zone NOT NULL DEFAULT now(),
+  create_dt timestamp without time zone NOT NULL DEFAULT (current_timestamp at time zone 'UTC'),
   CONSTRAINT player_weapon_stats_pk PRIMARY KEY (player_weapon_stats_id),
   CONSTRAINT player_weapon_stats_fk001 FOREIGN KEY (player_id)
       REFERENCES xonstat.players (player_id) MATCH SIMPLE
@@ -21,64 +21,240 @@ CREATE TABLE xonstat.player_weapon_stats
   CONSTRAINT player_weapon_stats_fk003 FOREIGN KEY (weapon_cd)
       REFERENCES xonstat.cd_weapon (weapon_cd) MATCH SIMPLE
       ON UPDATE NO ACTION ON DELETE NO ACTION,
-  CONSTRAINT player_weapon_stats_uk001 UNIQUE (player_id, game_id, weapon_cd, nick)
+  CONSTRAINT player_weapon_stats_fk004 FOREIGN KEY (player_game_stat_id)
+      REFERENCES xonstat.player_game_stats (player_game_stat_id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
 )
 WITH (
   OIDS=FALSE
 );
+
 CREATE INDEX player_weap_stats_ix01 on player_weapon_stats(create_dt);
+CREATE INDEX player_weap_stats_ix02 on player_weapon_stats(game_id);
+CREATE INDEX player_weap_stats_ix03 on player_weapon_stats(player_id);
+
 ALTER TABLE xonstat.player_weapon_stats OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2011Q2 (
-    CHECK ( create_dt >= DATE '2011-04-01' AND create_dt < DATE '2011-07-01' ) 
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q1 ( 
+       CHECK ( create_dt >= DATE '2014-01-01' AND create_dt < DATE '2014-04-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2014q1_ix001 on player_weapon_stats_2014q1(create_dt);
+CREATE INDEX player_weapon_stats_2014q1_ix002 on player_weapon_stats_2014q1(game_id);
+CREATE INDEX player_weapon_stats_2014q1_ix003 on player_weapon_stats_2014q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q2 ( 
+       CHECK ( create_dt >= DATE '2014-04-01' AND create_dt < DATE '2014-07-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2014q2_ix001 on player_weapon_stats_2014q2(create_dt);
+CREATE INDEX player_weapon_stats_2014q2_ix002 on player_weapon_stats_2014q2(game_id);
+CREATE INDEX player_weapon_stats_2014q2_ix003 on player_weapon_stats_2014q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q3 ( 
+       CHECK ( create_dt >= DATE '2014-07-01' AND create_dt < DATE '2014-10-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2014q3_ix001 on player_weapon_stats_2014q3(create_dt);
+CREATE INDEX player_weapon_stats_2014q3_ix002 on player_weapon_stats_2014q3(game_id);
+CREATE INDEX player_weapon_stats_2014q3_ix003 on player_weapon_stats_2014q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q4 ( 
+       CHECK ( create_dt >= DATE '2014-10-01' AND create_dt < DATE '2015-01-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2014q4_ix001 on player_weapon_stats_2014q4(create_dt);
+CREATE INDEX player_weapon_stats_2014q4_ix002 on player_weapon_stats_2014q4(game_id);
+CREATE INDEX player_weapon_stats_2014q4_ix003 on player_weapon_stats_2014q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q1 ( 
+       CHECK ( create_dt >= DATE '2015-01-01' AND create_dt < DATE '2015-04-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2015q1_ix001 on player_weapon_stats_2015q1(create_dt);
+CREATE INDEX player_weapon_stats_2015q1_ix002 on player_weapon_stats_2015q1(game_id);
+CREATE INDEX player_weapon_stats_2015q1_ix003 on player_weapon_stats_2015q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q2 ( 
+       CHECK ( create_dt >= DATE '2015-04-01' AND create_dt < DATE '2015-07-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2015q2_ix001 on player_weapon_stats_2015q2(create_dt);
+CREATE INDEX player_weapon_stats_2015q2_ix002 on player_weapon_stats_2015q2(game_id);
+CREATE INDEX player_weapon_stats_2015q2_ix003 on player_weapon_stats_2015q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q3 ( 
+       CHECK ( create_dt >= DATE '2015-07-01' AND create_dt < DATE '2015-10-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2015q3_ix001 on player_weapon_stats_2015q3(create_dt);
+CREATE INDEX player_weapon_stats_2015q3_ix002 on player_weapon_stats_2015q3(game_id);
+CREATE INDEX player_weapon_stats_2015q3_ix003 on player_weapon_stats_2015q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q4 ( 
+       CHECK ( create_dt >= DATE '2015-10-01' AND create_dt < DATE '2016-01-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2015q4_ix001 on player_weapon_stats_2015q4(create_dt);
+CREATE INDEX player_weapon_stats_2015q4_ix002 on player_weapon_stats_2015q4(game_id);
+CREATE INDEX player_weapon_stats_2015q4_ix003 on player_weapon_stats_2015q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q1 ( 
+       CHECK ( create_dt >= DATE '2016-01-01' AND create_dt < DATE '2016-04-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2016q1_ix001 on player_weapon_stats_2016q1(create_dt);
+CREATE INDEX player_weapon_stats_2016q1_ix002 on player_weapon_stats_2016q1(game_id);
+CREATE INDEX player_weapon_stats_2016q1_ix003 on player_weapon_stats_2016q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q2 ( 
+       CHECK ( create_dt >= DATE '2016-04-01' AND create_dt < DATE '2016-07-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2016q2_ix001 on player_weapon_stats_2016q2(create_dt);
+CREATE INDEX player_weapon_stats_2016q2_ix002 on player_weapon_stats_2016q2(game_id);
+CREATE INDEX player_weapon_stats_2016q2_ix003 on player_weapon_stats_2016q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q3 ( 
+       CHECK ( create_dt >= DATE '2016-07-01' AND create_dt < DATE '2016-10-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2016q3_ix001 on player_weapon_stats_2016q3(create_dt);
+CREATE INDEX player_weapon_stats_2016q3_ix002 on player_weapon_stats_2016q3(game_id);
+CREATE INDEX player_weapon_stats_2016q3_ix003 on player_weapon_stats_2016q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q4 ( 
+       CHECK ( create_dt >= DATE '2016-10-01' AND create_dt < DATE '2017-01-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2016q4_ix001 on player_weapon_stats_2016q4(create_dt);
+CREATE INDEX player_weapon_stats_2016q4_ix002 on player_weapon_stats_2016q4(game_id);
+CREATE INDEX player_weapon_stats_2016q4_ix003 on player_weapon_stats_2016q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q1 ( 
+       CHECK ( create_dt >= DATE '2017-01-01' AND create_dt < DATE '2017-04-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2017q1_ix001 on player_weapon_stats_2017q1(create_dt);
+CREATE INDEX player_weapon_stats_2017q1_ix002 on player_weapon_stats_2017q1(game_id);
+CREATE INDEX player_weapon_stats_2017q1_ix003 on player_weapon_stats_2017q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q2 ( 
+       CHECK ( create_dt >= DATE '2017-04-01' AND create_dt < DATE '2017-07-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2017q2_ix001 on player_weapon_stats_2017q2(create_dt);
+CREATE INDEX player_weapon_stats_2017q2_ix002 on player_weapon_stats_2017q2(game_id);
+CREATE INDEX player_weapon_stats_2017q2_ix003 on player_weapon_stats_2017q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q3 ( 
+       CHECK ( create_dt >= DATE '2017-07-01' AND create_dt < DATE '2017-10-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2017q3_ix001 on player_weapon_stats_2017q3(create_dt);
+CREATE INDEX player_weapon_stats_2017q3_ix002 on player_weapon_stats_2017q3(game_id);
+CREATE INDEX player_weapon_stats_2017q3_ix003 on player_weapon_stats_2017q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q4 ( 
+       CHECK ( create_dt >= DATE '2017-10-01' AND create_dt < DATE '2018-01-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2017q4_ix001 on player_weapon_stats_2017q4(create_dt);
+CREATE INDEX player_weapon_stats_2017q4_ix002 on player_weapon_stats_2017q4(game_id);
+CREATE INDEX player_weapon_stats_2017q4_ix003 on player_weapon_stats_2017q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q1 ( 
+       CHECK ( create_dt >= DATE '2018-01-01' AND create_dt < DATE '2018-04-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2018q1_ix001 on player_weapon_stats_2018q1(create_dt);
+CREATE INDEX player_weapon_stats_2018q1_ix002 on player_weapon_stats_2018q1(game_id);
+CREATE INDEX player_weapon_stats_2018q1_ix003 on player_weapon_stats_2018q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q2 ( 
+       CHECK ( create_dt >= DATE '2018-04-01' AND create_dt < DATE '2018-07-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2011Q2_ix01 on player_weapon_stats_2011Q2(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2011Q2 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2011Q3 ( 
-    CHECK ( create_dt >= DATE '2011-07-01' AND create_dt < DATE '2011-10-01' ) 
+CREATE INDEX player_weapon_stats_2018q2_ix001 on player_weapon_stats_2018q2(create_dt);
+CREATE INDEX player_weapon_stats_2018q2_ix002 on player_weapon_stats_2018q2(game_id);
+CREATE INDEX player_weapon_stats_2018q2_ix003 on player_weapon_stats_2018q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q3 ( 
+       CHECK ( create_dt >= DATE '2018-07-01' AND create_dt < DATE '2018-10-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2011Q3_ix01 on player_weapon_stats_2011Q3(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2011Q3 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2011Q4 ( 
-    CHECK ( create_dt >= DATE '2011-10-01' AND create_dt < DATE '2012-01-01' ) 
+CREATE INDEX player_weapon_stats_2018q3_ix001 on player_weapon_stats_2018q3(create_dt);
+CREATE INDEX player_weapon_stats_2018q3_ix002 on player_weapon_stats_2018q3(game_id);
+CREATE INDEX player_weapon_stats_2018q3_ix003 on player_weapon_stats_2018q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q4 ( 
+       CHECK ( create_dt >= DATE '2018-10-01' AND create_dt < DATE '2019-01-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2011Q4_ix01 on player_weapon_stats_2011Q4(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2011Q4 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2012Q1 ( 
-    CHECK ( create_dt >= DATE '2012-01-01' AND create_dt < DATE '2012-04-01' ) 
+CREATE INDEX player_weapon_stats_2018q4_ix001 on player_weapon_stats_2018q4(create_dt);
+CREATE INDEX player_weapon_stats_2018q4_ix002 on player_weapon_stats_2018q4(game_id);
+CREATE INDEX player_weapon_stats_2018q4_ix003 on player_weapon_stats_2018q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q1 ( 
+       CHECK ( create_dt >= DATE '2019-01-01' AND create_dt < DATE '2019-04-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2012Q1_ix01 on player_weapon_stats_2012Q1(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2012Q1 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2012Q2 ( 
-    CHECK ( create_dt >= DATE '2012-04-01' AND create_dt < DATE '2012-07-01' ) 
+CREATE INDEX player_weapon_stats_2019q1_ix001 on player_weapon_stats_2019q1(create_dt);
+CREATE INDEX player_weapon_stats_2019q1_ix002 on player_weapon_stats_2019q1(game_id);
+CREATE INDEX player_weapon_stats_2019q1_ix003 on player_weapon_stats_2019q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q2 ( 
+       CHECK ( create_dt >= DATE '2019-04-01' AND create_dt < DATE '2019-07-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2012Q2_ix01 on player_weapon_stats_2012Q2(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2012Q2 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2012Q3 ( 
-    CHECK ( create_dt >= DATE '2012-07-01' AND create_dt < DATE '2012-10-01' ) 
+CREATE INDEX player_weapon_stats_2019q2_ix001 on player_weapon_stats_2019q2(create_dt);
+CREATE INDEX player_weapon_stats_2019q2_ix002 on player_weapon_stats_2019q2(game_id);
+CREATE INDEX player_weapon_stats_2019q2_ix003 on player_weapon_stats_2019q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q3 ( 
+       CHECK ( create_dt >= DATE '2019-07-01' AND create_dt < DATE '2019-10-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2012Q3_ix01 on player_weapon_stats_2012Q3(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2012Q3 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2012Q4 ( 
-    CHECK ( create_dt >= DATE '2012-10-01' AND create_dt < DATE '2013-01-01' ) 
+CREATE INDEX player_weapon_stats_2019q3_ix001 on player_weapon_stats_2019q3(create_dt);
+CREATE INDEX player_weapon_stats_2019q3_ix002 on player_weapon_stats_2019q3(game_id);
+CREATE INDEX player_weapon_stats_2019q3_ix003 on player_weapon_stats_2019q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q4 ( 
+       CHECK ( create_dt >= DATE '2019-10-01' AND create_dt < DATE '2020-01-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2012Q4_ix01 on player_weapon_stats_2012Q4(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2012Q4 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2013Q1 ( 
-    CHECK ( create_dt >= DATE '2013-01-01' AND create_dt < DATE '2013-04-01' ) 
+CREATE INDEX player_weapon_stats_2019q4_ix001 on player_weapon_stats_2019q4(create_dt);
+CREATE INDEX player_weapon_stats_2019q4_ix002 on player_weapon_stats_2019q4(game_id);
+CREATE INDEX player_weapon_stats_2019q4_ix003 on player_weapon_stats_2019q4(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q1 ( 
+       CHECK ( create_dt >= DATE '2020-01-01' AND create_dt < DATE '2020-04-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2013Q1_ix01 on player_weapon_stats_2013Q1(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2013Q1 OWNER TO xonstat;
 
-CREATE TABLE xonstat.player_weapon_stats_2013Q2 ( 
-    CHECK ( create_dt >= DATE '2013-04-01' AND create_dt < DATE '2013-07-01' ) 
+CREATE INDEX player_weapon_stats_2020q1_ix001 on player_weapon_stats_2020q1(create_dt);
+CREATE INDEX player_weapon_stats_2020q1_ix002 on player_weapon_stats_2020q1(game_id);
+CREATE INDEX player_weapon_stats_2020q1_ix003 on player_weapon_stats_2020q1(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q2 ( 
+       CHECK ( create_dt >= DATE '2020-04-01' AND create_dt < DATE '2020-07-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2020q2_ix001 on player_weapon_stats_2020q2(create_dt);
+CREATE INDEX player_weapon_stats_2020q2_ix002 on player_weapon_stats_2020q2(game_id);
+CREATE INDEX player_weapon_stats_2020q2_ix003 on player_weapon_stats_2020q2(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q3 ( 
+       CHECK ( create_dt >= DATE '2020-07-01' AND create_dt < DATE '2020-10-01' ) 
 ) INHERITS (player_weapon_stats);
-CREATE INDEX player_weap_stats_2013Q2_ix01 on player_weapon_stats_2013Q2(create_dt);
-ALTER TABLE xonstat.player_weapon_stats_2013Q2 OWNER TO xonstat;
+
+CREATE INDEX player_weapon_stats_2020q3_ix001 on player_weapon_stats_2020q3(create_dt);
+CREATE INDEX player_weapon_stats_2020q3_ix002 on player_weapon_stats_2020q3(game_id);
+CREATE INDEX player_weapon_stats_2020q3_ix003 on player_weapon_stats_2020q3(player_id);
+
+CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q4 ( 
+       CHECK ( create_dt >= DATE '2020-10-01' AND create_dt < DATE '2021-01-01' ) 
+) INHERITS (player_weapon_stats);
+
+CREATE INDEX player_weapon_stats_2020q4_ix001 on player_weapon_stats_2020q4(create_dt);
+CREATE INDEX player_weapon_stats_2020q4_ix002 on player_weapon_stats_2020q4(game_id);
+CREATE INDEX player_weapon_stats_2020q4_ix003 on player_weapon_stats_2020q4(player_id);