]> 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 4b328e3..f5bbb03
@@ -1,13 +1,16 @@
 CREATE TABLE xonstat.player_weapon_stats
 (
-  player_weapon_stats_id serial NOT NULL,
-  player_id serial NOT NULL,
+  player_weapon_stats_id bigserial NOT NULL,
+  player_id integer NOT NULL,
   game_id bigint NOT NULL,
-  weapon_cd character varying(3) NOT NULL,
-  actual integer NOT NULL,
-  max integer NOT NULL,
-  frags integer NOT NULL,
-  create_dt timestamp with time zone NOT NULL DEFAULT now(),
+  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 (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
@@ -18,9 +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)
+  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 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_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_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_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_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_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_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_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_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_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);