Merge branch 'add-ok-weapons' into 'master'
[xonotic/xonstatdb.git] / tables / player_weapon_stats.tab
1 CREATE TABLE xonstat.player_weapon_stats
2 (
3   player_weapon_stats_id bigserial NOT NULL,
4   player_id integer NOT NULL,
5   game_id bigint NOT NULL,
6   player_game_stat_id bigint NOT NULL,
7   weapon_cd character varying(15) NOT NULL,
8   actual integer NOT NULL default 0,
9   max integer NOT NULL default 0,
10   hit integer NOT NULL default 0,
11   fired integer NOT NULL default 0,
12   frags integer NOT NULL default 0,
13   create_dt timestamp without time zone NOT NULL DEFAULT (current_timestamp at time zone 'UTC'),
14   CONSTRAINT player_weapon_stats_pk PRIMARY KEY (player_weapon_stats_id),
15   CONSTRAINT player_weapon_stats_fk001 FOREIGN KEY (player_id)
16       REFERENCES xonstat.players (player_id) MATCH SIMPLE
17       ON UPDATE NO ACTION ON DELETE NO ACTION,
18   CONSTRAINT player_weapon_stats_fk002 FOREIGN KEY (game_id)
19       REFERENCES xonstat.games (game_id) MATCH SIMPLE
20       ON UPDATE NO ACTION ON DELETE NO ACTION,
21   CONSTRAINT player_weapon_stats_fk003 FOREIGN KEY (weapon_cd)
22       REFERENCES xonstat.cd_weapon (weapon_cd) MATCH SIMPLE
23       ON UPDATE NO ACTION ON DELETE NO ACTION,
24   CONSTRAINT player_weapon_stats_fk004 FOREIGN KEY (player_game_stat_id)
25       REFERENCES xonstat.player_game_stats (player_game_stat_id) MATCH SIMPLE
26       ON UPDATE NO ACTION ON DELETE NO ACTION
27 )
28 WITH (
29   OIDS=FALSE
30 );
31
32 CREATE INDEX player_weap_stats_ix01 on player_weapon_stats(create_dt);
33 CREATE INDEX player_weap_stats_ix02 on player_weapon_stats(game_id);
34 CREATE INDEX player_weap_stats_ix03 on player_weapon_stats(player_id);
35
36 ALTER TABLE xonstat.player_weapon_stats OWNER TO xonstat;
37
38 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q1 ( 
39         CHECK ( create_dt >= DATE '2014-01-01' AND create_dt < DATE '2014-04-01' ) 
40 ) INHERITS (player_weapon_stats);
41
42 CREATE INDEX player_weapon_stats_2014q1_ix001 on player_weapon_stats_2014q1(create_dt);
43 CREATE INDEX player_weapon_stats_2014q1_ix002 on player_weapon_stats_2014q1(game_id);
44 CREATE INDEX player_weapon_stats_2014q1_ix003 on player_weapon_stats_2014q1(player_id);
45
46 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q2 ( 
47         CHECK ( create_dt >= DATE '2014-04-01' AND create_dt < DATE '2014-07-01' ) 
48 ) INHERITS (player_weapon_stats);
49
50 CREATE INDEX player_weapon_stats_2014q2_ix001 on player_weapon_stats_2014q2(create_dt);
51 CREATE INDEX player_weapon_stats_2014q2_ix002 on player_weapon_stats_2014q2(game_id);
52 CREATE INDEX player_weapon_stats_2014q2_ix003 on player_weapon_stats_2014q2(player_id);
53
54 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q3 ( 
55         CHECK ( create_dt >= DATE '2014-07-01' AND create_dt < DATE '2014-10-01' ) 
56 ) INHERITS (player_weapon_stats);
57
58 CREATE INDEX player_weapon_stats_2014q3_ix001 on player_weapon_stats_2014q3(create_dt);
59 CREATE INDEX player_weapon_stats_2014q3_ix002 on player_weapon_stats_2014q3(game_id);
60 CREATE INDEX player_weapon_stats_2014q3_ix003 on player_weapon_stats_2014q3(player_id);
61
62 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2014q4 ( 
63         CHECK ( create_dt >= DATE '2014-10-01' AND create_dt < DATE '2015-01-01' ) 
64 ) INHERITS (player_weapon_stats);
65
66 CREATE INDEX player_weapon_stats_2014q4_ix001 on player_weapon_stats_2014q4(create_dt);
67 CREATE INDEX player_weapon_stats_2014q4_ix002 on player_weapon_stats_2014q4(game_id);
68 CREATE INDEX player_weapon_stats_2014q4_ix003 on player_weapon_stats_2014q4(player_id);
69
70 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q1 ( 
71         CHECK ( create_dt >= DATE '2015-01-01' AND create_dt < DATE '2015-04-01' ) 
72 ) INHERITS (player_weapon_stats);
73
74 CREATE INDEX player_weapon_stats_2015q1_ix001 on player_weapon_stats_2015q1(create_dt);
75 CREATE INDEX player_weapon_stats_2015q1_ix002 on player_weapon_stats_2015q1(game_id);
76 CREATE INDEX player_weapon_stats_2015q1_ix003 on player_weapon_stats_2015q1(player_id);
77
78 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q2 ( 
79         CHECK ( create_dt >= DATE '2015-04-01' AND create_dt < DATE '2015-07-01' ) 
80 ) INHERITS (player_weapon_stats);
81
82 CREATE INDEX player_weapon_stats_2015q2_ix001 on player_weapon_stats_2015q2(create_dt);
83 CREATE INDEX player_weapon_stats_2015q2_ix002 on player_weapon_stats_2015q2(game_id);
84 CREATE INDEX player_weapon_stats_2015q2_ix003 on player_weapon_stats_2015q2(player_id);
85
86 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q3 ( 
87         CHECK ( create_dt >= DATE '2015-07-01' AND create_dt < DATE '2015-10-01' ) 
88 ) INHERITS (player_weapon_stats);
89
90 CREATE INDEX player_weapon_stats_2015q3_ix001 on player_weapon_stats_2015q3(create_dt);
91 CREATE INDEX player_weapon_stats_2015q3_ix002 on player_weapon_stats_2015q3(game_id);
92 CREATE INDEX player_weapon_stats_2015q3_ix003 on player_weapon_stats_2015q3(player_id);
93
94 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2015q4 ( 
95         CHECK ( create_dt >= DATE '2015-10-01' AND create_dt < DATE '2016-01-01' ) 
96 ) INHERITS (player_weapon_stats);
97
98 CREATE INDEX player_weapon_stats_2015q4_ix001 on player_weapon_stats_2015q4(create_dt);
99 CREATE INDEX player_weapon_stats_2015q4_ix002 on player_weapon_stats_2015q4(game_id);
100 CREATE INDEX player_weapon_stats_2015q4_ix003 on player_weapon_stats_2015q4(player_id);
101
102 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q1 ( 
103         CHECK ( create_dt >= DATE '2016-01-01' AND create_dt < DATE '2016-04-01' ) 
104 ) INHERITS (player_weapon_stats);
105
106 CREATE INDEX player_weapon_stats_2016q1_ix001 on player_weapon_stats_2016q1(create_dt);
107 CREATE INDEX player_weapon_stats_2016q1_ix002 on player_weapon_stats_2016q1(game_id);
108 CREATE INDEX player_weapon_stats_2016q1_ix003 on player_weapon_stats_2016q1(player_id);
109
110 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q2 ( 
111         CHECK ( create_dt >= DATE '2016-04-01' AND create_dt < DATE '2016-07-01' ) 
112 ) INHERITS (player_weapon_stats);
113
114 CREATE INDEX player_weapon_stats_2016q2_ix001 on player_weapon_stats_2016q2(create_dt);
115 CREATE INDEX player_weapon_stats_2016q2_ix002 on player_weapon_stats_2016q2(game_id);
116 CREATE INDEX player_weapon_stats_2016q2_ix003 on player_weapon_stats_2016q2(player_id);
117
118 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q3 ( 
119         CHECK ( create_dt >= DATE '2016-07-01' AND create_dt < DATE '2016-10-01' ) 
120 ) INHERITS (player_weapon_stats);
121
122 CREATE INDEX player_weapon_stats_2016q3_ix001 on player_weapon_stats_2016q3(create_dt);
123 CREATE INDEX player_weapon_stats_2016q3_ix002 on player_weapon_stats_2016q3(game_id);
124 CREATE INDEX player_weapon_stats_2016q3_ix003 on player_weapon_stats_2016q3(player_id);
125
126 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2016q4 ( 
127         CHECK ( create_dt >= DATE '2016-10-01' AND create_dt < DATE '2017-01-01' ) 
128 ) INHERITS (player_weapon_stats);
129
130 CREATE INDEX player_weapon_stats_2016q4_ix001 on player_weapon_stats_2016q4(create_dt);
131 CREATE INDEX player_weapon_stats_2016q4_ix002 on player_weapon_stats_2016q4(game_id);
132 CREATE INDEX player_weapon_stats_2016q4_ix003 on player_weapon_stats_2016q4(player_id);
133
134 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q1 ( 
135         CHECK ( create_dt >= DATE '2017-01-01' AND create_dt < DATE '2017-04-01' ) 
136 ) INHERITS (player_weapon_stats);
137
138 CREATE INDEX player_weapon_stats_2017q1_ix001 on player_weapon_stats_2017q1(create_dt);
139 CREATE INDEX player_weapon_stats_2017q1_ix002 on player_weapon_stats_2017q1(game_id);
140 CREATE INDEX player_weapon_stats_2017q1_ix003 on player_weapon_stats_2017q1(player_id);
141
142 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q2 ( 
143         CHECK ( create_dt >= DATE '2017-04-01' AND create_dt < DATE '2017-07-01' ) 
144 ) INHERITS (player_weapon_stats);
145
146 CREATE INDEX player_weapon_stats_2017q2_ix001 on player_weapon_stats_2017q2(create_dt);
147 CREATE INDEX player_weapon_stats_2017q2_ix002 on player_weapon_stats_2017q2(game_id);
148 CREATE INDEX player_weapon_stats_2017q2_ix003 on player_weapon_stats_2017q2(player_id);
149
150 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q3 ( 
151         CHECK ( create_dt >= DATE '2017-07-01' AND create_dt < DATE '2017-10-01' ) 
152 ) INHERITS (player_weapon_stats);
153
154 CREATE INDEX player_weapon_stats_2017q3_ix001 on player_weapon_stats_2017q3(create_dt);
155 CREATE INDEX player_weapon_stats_2017q3_ix002 on player_weapon_stats_2017q3(game_id);
156 CREATE INDEX player_weapon_stats_2017q3_ix003 on player_weapon_stats_2017q3(player_id);
157
158 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2017q4 ( 
159         CHECK ( create_dt >= DATE '2017-10-01' AND create_dt < DATE '2018-01-01' ) 
160 ) INHERITS (player_weapon_stats);
161
162 CREATE INDEX player_weapon_stats_2017q4_ix001 on player_weapon_stats_2017q4(create_dt);
163 CREATE INDEX player_weapon_stats_2017q4_ix002 on player_weapon_stats_2017q4(game_id);
164 CREATE INDEX player_weapon_stats_2017q4_ix003 on player_weapon_stats_2017q4(player_id);
165
166 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q1 ( 
167         CHECK ( create_dt >= DATE '2018-01-01' AND create_dt < DATE '2018-04-01' ) 
168 ) INHERITS (player_weapon_stats);
169
170 CREATE INDEX player_weapon_stats_2018q1_ix001 on player_weapon_stats_2018q1(create_dt);
171 CREATE INDEX player_weapon_stats_2018q1_ix002 on player_weapon_stats_2018q1(game_id);
172 CREATE INDEX player_weapon_stats_2018q1_ix003 on player_weapon_stats_2018q1(player_id);
173
174 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q2 ( 
175         CHECK ( create_dt >= DATE '2018-04-01' AND create_dt < DATE '2018-07-01' ) 
176 ) INHERITS (player_weapon_stats);
177
178 CREATE INDEX player_weapon_stats_2018q2_ix001 on player_weapon_stats_2018q2(create_dt);
179 CREATE INDEX player_weapon_stats_2018q2_ix002 on player_weapon_stats_2018q2(game_id);
180 CREATE INDEX player_weapon_stats_2018q2_ix003 on player_weapon_stats_2018q2(player_id);
181
182 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q3 ( 
183         CHECK ( create_dt >= DATE '2018-07-01' AND create_dt < DATE '2018-10-01' ) 
184 ) INHERITS (player_weapon_stats);
185
186 CREATE INDEX player_weapon_stats_2018q3_ix001 on player_weapon_stats_2018q3(create_dt);
187 CREATE INDEX player_weapon_stats_2018q3_ix002 on player_weapon_stats_2018q3(game_id);
188 CREATE INDEX player_weapon_stats_2018q3_ix003 on player_weapon_stats_2018q3(player_id);
189
190 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2018q4 ( 
191         CHECK ( create_dt >= DATE '2018-10-01' AND create_dt < DATE '2019-01-01' ) 
192 ) INHERITS (player_weapon_stats);
193
194 CREATE INDEX player_weapon_stats_2018q4_ix001 on player_weapon_stats_2018q4(create_dt);
195 CREATE INDEX player_weapon_stats_2018q4_ix002 on player_weapon_stats_2018q4(game_id);
196 CREATE INDEX player_weapon_stats_2018q4_ix003 on player_weapon_stats_2018q4(player_id);
197
198 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q1 ( 
199         CHECK ( create_dt >= DATE '2019-01-01' AND create_dt < DATE '2019-04-01' ) 
200 ) INHERITS (player_weapon_stats);
201
202 CREATE INDEX player_weapon_stats_2019q1_ix001 on player_weapon_stats_2019q1(create_dt);
203 CREATE INDEX player_weapon_stats_2019q1_ix002 on player_weapon_stats_2019q1(game_id);
204 CREATE INDEX player_weapon_stats_2019q1_ix003 on player_weapon_stats_2019q1(player_id);
205
206 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q2 ( 
207         CHECK ( create_dt >= DATE '2019-04-01' AND create_dt < DATE '2019-07-01' ) 
208 ) INHERITS (player_weapon_stats);
209
210 CREATE INDEX player_weapon_stats_2019q2_ix001 on player_weapon_stats_2019q2(create_dt);
211 CREATE INDEX player_weapon_stats_2019q2_ix002 on player_weapon_stats_2019q2(game_id);
212 CREATE INDEX player_weapon_stats_2019q2_ix003 on player_weapon_stats_2019q2(player_id);
213
214 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q3 ( 
215         CHECK ( create_dt >= DATE '2019-07-01' AND create_dt < DATE '2019-10-01' ) 
216 ) INHERITS (player_weapon_stats);
217
218 CREATE INDEX player_weapon_stats_2019q3_ix001 on player_weapon_stats_2019q3(create_dt);
219 CREATE INDEX player_weapon_stats_2019q3_ix002 on player_weapon_stats_2019q3(game_id);
220 CREATE INDEX player_weapon_stats_2019q3_ix003 on player_weapon_stats_2019q3(player_id);
221
222 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2019q4 ( 
223         CHECK ( create_dt >= DATE '2019-10-01' AND create_dt < DATE '2020-01-01' ) 
224 ) INHERITS (player_weapon_stats);
225
226 CREATE INDEX player_weapon_stats_2019q4_ix001 on player_weapon_stats_2019q4(create_dt);
227 CREATE INDEX player_weapon_stats_2019q4_ix002 on player_weapon_stats_2019q4(game_id);
228 CREATE INDEX player_weapon_stats_2019q4_ix003 on player_weapon_stats_2019q4(player_id);
229
230 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q1 ( 
231         CHECK ( create_dt >= DATE '2020-01-01' AND create_dt < DATE '2020-04-01' ) 
232 ) INHERITS (player_weapon_stats);
233
234 CREATE INDEX player_weapon_stats_2020q1_ix001 on player_weapon_stats_2020q1(create_dt);
235 CREATE INDEX player_weapon_stats_2020q1_ix002 on player_weapon_stats_2020q1(game_id);
236 CREATE INDEX player_weapon_stats_2020q1_ix003 on player_weapon_stats_2020q1(player_id);
237
238 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q2 ( 
239         CHECK ( create_dt >= DATE '2020-04-01' AND create_dt < DATE '2020-07-01' ) 
240 ) INHERITS (player_weapon_stats);
241
242 CREATE INDEX player_weapon_stats_2020q2_ix001 on player_weapon_stats_2020q2(create_dt);
243 CREATE INDEX player_weapon_stats_2020q2_ix002 on player_weapon_stats_2020q2(game_id);
244 CREATE INDEX player_weapon_stats_2020q2_ix003 on player_weapon_stats_2020q2(player_id);
245
246 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q3 ( 
247         CHECK ( create_dt >= DATE '2020-07-01' AND create_dt < DATE '2020-10-01' ) 
248 ) INHERITS (player_weapon_stats);
249
250 CREATE INDEX player_weapon_stats_2020q3_ix001 on player_weapon_stats_2020q3(create_dt);
251 CREATE INDEX player_weapon_stats_2020q3_ix002 on player_weapon_stats_2020q3(game_id);
252 CREATE INDEX player_weapon_stats_2020q3_ix003 on player_weapon_stats_2020q3(player_id);
253
254 CREATE TABLE IF NOT EXISTS xonstat.player_weapon_stats_2020q4 ( 
255         CHECK ( create_dt >= DATE '2020-10-01' AND create_dt < DATE '2021-01-01' ) 
256 ) INHERITS (player_weapon_stats);
257
258 CREATE INDEX player_weapon_stats_2020q4_ix001 on player_weapon_stats_2020q4(create_dt);
259 CREATE INDEX player_weapon_stats_2020q4_ix002 on player_weapon_stats_2020q4(game_id);
260 CREATE INDEX player_weapon_stats_2020q4_ix003 on player_weapon_stats_2020q4(player_id);