fix: deleting inbox records that senders have been deleted (#2743)

Deleting inbox records that senders have been deleted
This commit is contained in:
Wen Sun
2024-01-11 22:29:22 +09:00
committed by GitHub
parent 79b68222ff
commit 6cfd94cc69
6 changed files with 51 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ package mysql
import (
"context"
"database/sql"
"strings"
"github.com/pkg/errors"
@@ -132,3 +133,13 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
}
return nil
}
func vacuumInbox(ctx context.Context, tx *sql.Tx) error {
stmt := "DELETE FROM `inbox` WHERE `sender_id` NOT IN (SELECT `id` FROM `user`)"
_, err := tx.ExecContext(ctx, stmt)
if err != nil {
return err
}
return nil
}