L’un de nos utilisateurs possédait 5 badges « Réponse appréciée » (100 posts aimés et 100 likes donnés). Ensuite, nous avons déplacé certains sujets vers une catégorie privée, et maintenant il n’en a plus que 3. Il semble que la requête de badge ne compte pas les likes donnés ou reçus sur les sujets déplacés, peut-être parce qu’ils ont été déplacés ou parce qu’ils sont désormais privés.
En déboguant cela, j’ai copié la requête de badge dans Data Explorer :
select p.user_id, p.id post_id, current_timestamp granted_at
from badge_posts p
where p.post_number > 1
and p.like_count >= 10
La requête ci-dessus ne retourne que 3 résultats pour l’utilisateur, alors qu’il devrait y en avoir 5. J’ai remarqué qu’elle utilise la table « badge_posts ». Je ne trouve pas la table badge_posts dans l’arbre de vue de Data Explorer. J’ai donc remplacé « badge_posts » par « posts », et elle retourne alors 5 comme prévu.
D’où provient la table « badge_posts », et la requête de badge ne devrait-elle pas utiliser la table « posts » à la place ?