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
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);
+