Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rajoute les stats de l'export
Browse files Browse the repository at this point in the history
Josquin Cornec committed Sep 16, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 10eacd6 commit 213a53a
Showing 2 changed files with 54 additions and 3 deletions.
44 changes: 44 additions & 0 deletions migrations/240916_0_update_v_stats_with_export.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
drop materialized view v_stats
create materialized view if not exists v_stats as
WITH stat_users AS (SELECT count(DISTINCT v_log.tokencontent ->> 'email'::text) AS users,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
GROUP BY (date_trunc('month'::text, v_log.date_add))),
stat_recherches AS (SELECT count(DISTINCT
CASE
WHEN v_log.method = 'GET'::text THEN v_log.path
ELSE v_log.body::json ->> 'search'::text
END || ((v_log.tokencontent ->> 'email'::text) ||
date_trunc('day'::text, v_log.date_add)::text)) AS recherches,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
WHERE v_log.path ~~ '%/search%'::text
GROUP BY (date_trunc('month'::text, v_log.date_add))),
stat_fiches AS (SELECT count(v_log.path) AS fiches,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
WHERE v_log.path ~~ '/etablissement/get/%'::text
OR v_log.path ~~ '/entreprise/%'::text
GROUP BY (date_trunc('month'::text, v_log.date_add))),
stat_visites AS (SELECT count(DISTINCT date_trunc('hour'::text, v_log.date_add)::text ||
(v_log.tokencontent ->> 'email'::text)) AS visites,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
GROUP BY (date_trunc('month'::text, v_log.date_add))
LIMIT 100),
stat_export AS (SELECT count(v_log.path) AS export,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
WHERE v_log.path ~~ '/scores/xls/%'::text
GROUP BY (date_trunc('month'::text, v_log.date_add)))
SELECT u.mois,
u.users,
r.recherches,
f.fiches,
v.visites,
e.export
FROM stat_users u
JOIN stat_recherches r ON r.mois = u.mois
JOIN stat_fiches f ON f.mois = u.mois
JOIN stat_visites v ON v.mois = u.mois
JOIN stat_export e ON e.mois = u.mois;
13 changes: 10 additions & 3 deletions pkg/stats/resources/sql/create_tables_and_views.sql
Original file line number Diff line number Diff line change
@@ -77,15 +77,22 @@ WITH stat_users AS (SELECT count(DISTINCT v_log.tokencontent ->> 'email'::text)
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
GROUP BY (date_trunc('month'::text, v_log.date_add))
LIMIT 100)
LIMIT 100),
stat_export AS (SELECT count(v_log.path) AS export,
date_trunc('month'::text, v_log.date_add) AS mois
FROM v_log
WHERE v_log.path ~~ '/scores/xls/%'::text
GROUP BY (date_trunc('month'::text, v_log.date_add)))
SELECT u.mois,
u.users,
r.recherches,
f.fiches,
v.visites
v.visites,
e.export
FROM stat_users u
JOIN stat_recherches r ON r.mois = u.mois
JOIN stat_fiches f ON f.mois = u.mois
JOIN stat_visites v ON v.mois = u.mois;
JOIN stat_visites v ON v.mois = u.mois
JOIN stat_export e ON e.mois = u.mois;

alter materialized view v_stats owner to postgres;

0 comments on commit 213a53a

Please sign in to comment.