あるユーザーは「Nice Reply」バッジを5つ保有していました(100件の投稿に「いいね」をつけ、100件の「いいね」を受け取った状態)。その後、いくつかのトピックを非公開カテゴリに移動させたところ、そのユーザーのバッジ数が3つに減ってしまいました。移動されたトピックでの「いいね」の授受がバッジのクエリでカウントされていないようです。移動による影響か、あるいは非公開化による影響かは不明です。
この問題のデバッグ中に、バッジのクエリを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
上記のクエリはそのユーザーに対して3件の結果しか返しませんでしたが、本来は5件であるべきです。このクエリが「badge_posts」というテーブルを使用していることに気づきました。Data Explorerのツリービューで「badge_posts」テーブルが見つかりませんでした。そこで「badge_posts」を「posts」に変更して実行したところ、期待通り5件の結果が返ってきました。
「badge_posts」テーブルはどこから来るものなのでしょうか?また、バッジのクエリは本来「posts」テーブルを使用すべきではないでしょうか?