mirror of
https://codeberg.org/icewind/log-archiver.git
synced 2026-06-03 09:34:09 +02:00
rank
This commit is contained in:
parent
cbe97214b6
commit
27495efdcb
1 changed files with 29 additions and 1 deletions
30
schema.sql
30
schema.sql
|
|
@ -83,7 +83,9 @@ CREATE TABLE medic_stats (
|
||||||
heals INTEGER NOT NULL,
|
heals INTEGER NOT NULL,
|
||||||
drops INTEGER NOT NULL,
|
drops INTEGER NOT NULL,
|
||||||
ubers INTEGER NOT NULL,
|
ubers INTEGER NOT NULL,
|
||||||
medic_time INTEGER NOT NULL
|
medic_time INTEGER NOT NULL,
|
||||||
|
dpu NUMERIC NOT NULL GENERATED ALWAYS AS (dpu(drops, ubers)) STORED,
|
||||||
|
dps NUMERIC NOT NULL GENERATED ALWAYS AS (dpu(drops, medic_time)) STORED
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE UNIQUE INDEX medic_stats_steam_id_idx
|
CREATE UNIQUE INDEX medic_stats_steam_id_idx
|
||||||
|
|
@ -101,6 +103,32 @@ CREATE INDEX medic_stats_ubers_idx
|
||||||
CREATE INDEX medic_stats_medic_time_idx
|
CREATE INDEX medic_stats_medic_time_idx
|
||||||
ON medic_stats USING BTREE (medic_time);
|
ON medic_stats USING BTREE (medic_time);
|
||||||
|
|
||||||
|
CREATE INDEX medic_stats_dpu_idx
|
||||||
|
ON medic_stats USING BTREE (dpu);
|
||||||
|
|
||||||
|
CREATE INDEX medic_stats_dps_idx
|
||||||
|
ON medic_stats USING BTREE (dps);
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION dpu(drops INTEGER, ubers INTEGER) RETURNS NUMERIC AS $$
|
||||||
|
BEGIN
|
||||||
|
IF ubers = 0 THEN
|
||||||
|
return 0;
|
||||||
|
ELSE
|
||||||
|
return drops::NUMERIC / ubers::NUMERIC;
|
||||||
|
END IF;
|
||||||
|
END; $$
|
||||||
|
LANGUAGE PLPGSQL IMMUTABLE;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION dps(drops INTEGER, medic_time INTEGER) RETURNS NUMERIC AS $$
|
||||||
|
BEGIN
|
||||||
|
IF medic_time = 0 THEN
|
||||||
|
return 0;
|
||||||
|
ELSE
|
||||||
|
return drops::NUMERIC / medic_time::NUMERIC;
|
||||||
|
END IF;
|
||||||
|
END; $$
|
||||||
|
LANGUAGE PLPGSQL IMMUTABLE;
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION update_medic_stats() RETURNS trigger AS $$
|
CREATE OR REPLACE FUNCTION update_medic_stats() RETURNS trigger AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO medic_stats (steam_id, games, heals, drops, ubers, medic_time)
|
INSERT INTO medic_stats (steam_id, games, heals, drops, ubers, medic_time)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue