]> de.git.xonotic.org Git - xonotic/xonstatdb.git/blobdiff - tables/games.tab
Merge branch 'frag-matrix'
[xonotic/xonstatdb.git] / tables / games.tab
old mode 100644 (file)
new mode 100755 (executable)
index 3762240..cf63852
@@ -1,13 +1,16 @@
 CREATE TABLE xonstat.games
 (
   game_id bigserial NOT NULL,
-  start_dt timestamp with time zone NOT NULL,
+  start_dt timestamp without time zone NOT NULL,
   game_type_cd character varying(10) NOT NULL,
   server_id integer NOT NULL,
-  map_id serial NOT NULL,
+  map_id integer NOT NULL,
   duration interval,
   winner integer,
-  create_dt timestamp with time zone NOT NULL DEFAULT now(),
+  match_id character varying(64),
+  mod character varying(64),
+  create_dt timestamp without time zone NOT NULL DEFAULT (current_timestamp at time zone 'UTC'),
+  players integer[],
   CONSTRAINT games_pk PRIMARY KEY (game_id),
   CONSTRAINT games_fk001 FOREIGN KEY (game_type_cd)
       REFERENCES xonstat.cd_game_type (game_type_cd) MATCH SIMPLE
@@ -17,9 +20,124 @@ CREATE TABLE xonstat.games
       ON UPDATE NO ACTION ON DELETE NO ACTION,
   CONSTRAINT games_fk003 FOREIGN KEY (map_id)
       REFERENCES xonstat.maps (map_id) MATCH SIMPLE
-      ON UPDATE NO ACTION ON DELETE NO ACTION
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+  CONSTRAINT games_uk001 UNIQUE (server_id, match_id)
 )
 WITH (
   OIDS=FALSE
 );
+CREATE INDEX games_ix001 on games(create_dt);
 ALTER TABLE xonstat.games OWNER TO xonstat;
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2014q1 ( 
+       CHECK ( create_dt >= DATE '2014-01-01' AND create_dt < DATE '2014-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2014q2 ( 
+       CHECK ( create_dt >= DATE '2014-04-01' AND create_dt < DATE '2014-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2014q3 ( 
+       CHECK ( create_dt >= DATE '2014-07-01' AND create_dt < DATE '2014-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2014q4 ( 
+       CHECK ( create_dt >= DATE '2014-10-01' AND create_dt < DATE '2015-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2015q1 ( 
+       CHECK ( create_dt >= DATE '2015-01-01' AND create_dt < DATE '2015-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2015q2 ( 
+       CHECK ( create_dt >= DATE '2015-04-01' AND create_dt < DATE '2015-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2015q3 ( 
+       CHECK ( create_dt >= DATE '2015-07-01' AND create_dt < DATE '2015-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2015q4 ( 
+       CHECK ( create_dt >= DATE '2015-10-01' AND create_dt < DATE '2016-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2016q1 ( 
+       CHECK ( create_dt >= DATE '2016-01-01' AND create_dt < DATE '2016-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2016q2 ( 
+       CHECK ( create_dt >= DATE '2016-04-01' AND create_dt < DATE '2016-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2016q3 ( 
+       CHECK ( create_dt >= DATE '2016-07-01' AND create_dt < DATE '2016-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2016q4 ( 
+       CHECK ( create_dt >= DATE '2016-10-01' AND create_dt < DATE '2017-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2017q1 ( 
+       CHECK ( create_dt >= DATE '2017-01-01' AND create_dt < DATE '2017-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2017q2 ( 
+       CHECK ( create_dt >= DATE '2017-04-01' AND create_dt < DATE '2017-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2017q3 ( 
+       CHECK ( create_dt >= DATE '2017-07-01' AND create_dt < DATE '2017-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2017q4 ( 
+       CHECK ( create_dt >= DATE '2017-10-01' AND create_dt < DATE '2018-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2018q1 ( 
+       CHECK ( create_dt >= DATE '2018-01-01' AND create_dt < DATE '2018-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2018q2 ( 
+       CHECK ( create_dt >= DATE '2018-04-01' AND create_dt < DATE '2018-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2018q3 ( 
+       CHECK ( create_dt >= DATE '2018-07-01' AND create_dt < DATE '2018-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2018q4 ( 
+       CHECK ( create_dt >= DATE '2018-10-01' AND create_dt < DATE '2019-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2019q1 ( 
+       CHECK ( create_dt >= DATE '2019-01-01' AND create_dt < DATE '2019-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2019q2 ( 
+       CHECK ( create_dt >= DATE '2019-04-01' AND create_dt < DATE '2019-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2019q3 ( 
+       CHECK ( create_dt >= DATE '2019-07-01' AND create_dt < DATE '2019-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2019q4 ( 
+       CHECK ( create_dt >= DATE '2019-10-01' AND create_dt < DATE '2020-01-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2020q1 ( 
+       CHECK ( create_dt >= DATE '2020-01-01' AND create_dt < DATE '2020-04-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2020q2 ( 
+       CHECK ( create_dt >= DATE '2020-04-01' AND create_dt < DATE '2020-07-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2020q3 ( 
+       CHECK ( create_dt >= DATE '2020-07-01' AND create_dt < DATE '2020-10-01' ) 
+) INHERITS (games);
+
+CREATE TABLE IF NOT EXISTS xonstat.games_2020q4 ( 
+       CHECK ( create_dt >= DATE '2020-10-01' AND create_dt < DATE '2021-01-01' ) 
+) INHERITS (games);
+