Fix DeliveryReceipt not being cleaned up

git-svn-id: file:///srv/svn/repo/suika/trunk@595 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This commit is contained in:
hubert 2021-09-21 16:19:05 +00:00
parent d046f6b294
commit 37a8fe455d

View File

@ -289,6 +289,17 @@ func (db *SqliteDB) DeleteUser(id int64) error {
}
defer tx.Rollback()
_, err = tx.Exec(`DELETE FROM DeliveryReceipt
WHERE id IN (
SELECT DeliveryReceipt.id
FROM DeliveryReceipt
JOIN Network ON DeliveryReceipt.network = Network.id
WHERE Network.user = ?
)`, id)
if err != nil {
return err
}
_, err = tx.Exec(`DELETE FROM Channel
WHERE id IN (
SELECT Channel.id
@ -422,6 +433,11 @@ func (db *SqliteDB) DeleteNetwork(id int64) error {
}
defer tx.Rollback()
_, err = tx.Exec("DELETE FROM DeliveryReceipt WHERE network = ?", id)
if err != nil {
return err
}
_, err = tx.Exec("DELETE FROM Channel WHERE network = ?", id)
if err != nil {
return err