+// Check foreign keys manually when not possible because of local key beeing a primary key, and thus can not be null.
+check("SELECT a.*
+ FROM profile_addresses AS a
+ WHERE a.type = 'home' AND NOT EXISTS (SELECT *
+ FROM profiles AS p
+ WHERE a.pid = p.pid)",
+ "Adresses de type 'home' reliées à un profil inexsitant.");
+check("SELECT a.*
+ FROM profile_addresses AS a
+ WHERE a.type = 'job' AND NOT EXISTS (SELECT *
+ FROM profile_job AS j
+ WHERE a.pid = j.pid AND a.id = j.id)",
+ "Adresses de type 'job' reliées à un emploi inexsitant.");
+check("SELECT a.*
+ FROM profile_addresses AS a
+ WHERE a.type = 'hq' AND NOT EXISTS (SELECT *
+ FROM profile_job_enum AS je
+ WHERE a.jobid = je.id)",
+ "Adresses de type 'hq' reliées à une entreprise inexsitante.");
+check("SELECT a.*
+ FROM profile_addresses AS a
+ WHERE a.type = 'group' AND NOT EXISTS (SELECT *
+ FROM groups AS g
+ WHERE a.groupid = g.id)",
+ "Adresses de type 'group' reliées à un groupe inexsitant.");
+
+check("SELECT m.*
+ FROM profile_medals AS m
+ WHERE m.gid != 0 AND NOT EXISTS (SELECT *
+ FROM profile_medal_grade_enum AS mg
+ WHERE m.mid = mg.mid AND m.gid = mg.gid)",
+ "Médailles avec grade sans correspondance dans la liste des grades.");
+
+check("SELECT p.*
+ FROM profile_phones AS p
+ WHERE p.link_type = 'address' AND NOT EXISTS (SELECT *
+ FROM profile_addresses AS a
+ WHERE p.pid = a.pid AND p.link_id = a.id)",
+ "Téléphones de type 'address' reliés à une adresses inexistante.");
+check("SELECT p.*
+ FROM profile_phones AS p
+ WHERE p.link_type = 'pro' AND NOT EXISTS (SELECT *
+ FROM profile_job AS j
+ WHERE p.pid = j.pid AND p.link_id = j.id)",
+ "Téléphones de type 'pro' reliés à un emploi inexistant.");
+check("SELECT p.*
+ FROM profile_phones AS p
+ WHERE p.link_type = 'user' AND NOT EXISTS (SELECT *
+ FROM profiles AS pf
+ WHERE p.pid = pf.pid)",
+ "Téléphones de type 'user' reliés à un profil inexistant.");
+check("SELECT p.*
+ FROM profile_phones AS p
+ WHERE p.link_type = 'hq' AND NOT EXISTS (SELECT *
+ FROM profile_job_enum AS je
+ WHERE p.link_id = je.id)",
+ "Téléphones de type 'hq' reliés à une entreprise inexistante.");
+check("SELECT p.*
+ FROM profile_phones AS p
+ WHERE p.link_type = 'group' AND NOT EXISTS (SELECT *
+ FROM groups AS g
+ WHERE p.link_id = g.id)",
+ "Téléphones de type 'group' reliés à un groupe inexistant.");
+
+// List domain aliasing with depth higher than 1: they will not be found by postfix.
+check("SELECT evd.name
+ FROM email_virtual_domains AS evd
+ INNER JOIN email_virtual_domains AS evd2 ON (evd.aliasing = evd2.id)
+ WHERE evd2.id != evd2.aliasing",
+ "Domaines aliasés de niveau 2 ou plus qui ne sont pas vu par postfix.");
+
+// Account viewing statistics
+info("SELECT nb_profiles, hruid
+ FROM (
+ SELECT a.hruid AS hruid, COUNT(DISTINCT le.data) AS nb_profiles
+ FROM log_events AS le
+ LEFT JOIN log_sessions AS ls ON (ls.id = le.session)
+ LEFT JOIN accounts AS a ON (a.uid = ls.uid)
+ WHERE le.action = 30 AND ls.start >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)
+ GROUP BY a.hruid
+ ) AS profile_views
+ WHERE nb_profiles >= 100
+ ORDER BY nb_profiles DESC",
+ "Camarades ayant consulté plus de 100 fiches au cours des 7 derniers jours.");
+