mirror of
https://codeberg.org/icewind/log-archiver.git
synced 2026-06-03 09:34:09 +02:00
user names
This commit is contained in:
parent
50c7e8b4d3
commit
3dc16cd836
1 changed files with 17 additions and 2 deletions
19
schema.sql
19
schema.sql
|
|
@ -135,7 +135,7 @@ CREATE VIEW log_player_names AS
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
id,
|
||||||
normalize_steam_id(p.key) as steam_id,
|
normalize_steam_id(p.key) as steam_id,
|
||||||
p.value AS name,
|
p.value #>> '{}' AS name,
|
||||||
(json->'info'->'total_length')::INTEGER AS length
|
(json->'info'->'total_length')::INTEGER AS length
|
||||||
FROM logs_raw, jsonb_each(json->'names') p;
|
FROM logs_raw, jsonb_each(json->'names') p;
|
||||||
|
|
||||||
|
|
@ -165,4 +165,19 @@ $$
|
||||||
CREATE TRIGGER update_names_on_log
|
CREATE TRIGGER update_names_on_log
|
||||||
AFTER INSERT OR UPDATE ON logs_raw
|
AFTER INSERT OR UPDATE ON logs_raw
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE PROCEDURE update_player_names();
|
EXECUTE PROCEDURE update_player_names();
|
||||||
|
|
||||||
|
CREATE MATERIALIZED VIEW user_names AS
|
||||||
|
WITH names AS
|
||||||
|
(
|
||||||
|
select name, count, steam_id,
|
||||||
|
rank() over (partition by steam_id order by steam_id, count desc) rn
|
||||||
|
from player_names
|
||||||
|
)
|
||||||
|
SELECT steam_id, MAX(name) as name
|
||||||
|
FROM names
|
||||||
|
WHERE rn = 1
|
||||||
|
GROUP BY steam_id;
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX user_names_steam_id_idx
|
||||||
|
ON user_names USING BTREE (steam_id);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue