From 4e183043698f9950213cd2d9c1828a0308d8bd4f Mon Sep 17 00:00:00 2001 From: Ted Unangst Date: Wed, 22 May 2019 15:49:31 -0400 Subject: [PATCH] delete dead threads when cleaning up --- honk.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/honk.go b/honk.go index fa14837..422e983 100644 --- a/honk.go +++ b/honk.go @@ -1299,6 +1299,21 @@ func serve() { func cleanupdb() { db := opendatabase() + rows, _ := db.Query("select userid, name from zonkers where wherefore = 'zonvoy'") + deadthreads := make(map[int64][]string) + for rows.Next() { + var userid int64 + var name string + rows.Scan(&userid, &name) + deadthreads[userid] = append(deadthreads[userid], name) + } + rows.Close() + for userid, threads := range deadthreads { + for _, t := range threads { + doordie(db, "delete from donks where honkid in (select honkid from honks where userid = ? and convoy = ?)", userid, t) + doordie(db, "delete from honks where userid = ? and convoy = ?", userid, t) + } + } doordie(db, "delete from files where fileid not in (select fileid from donks)") }