doordie(db,"delete from donks where honkid in (select honkid from honks where dt < ? and whofore = 0 and convoy not in (select convoy from honks where whofore = 2 or whofore = 3))",expdate)
doordie(db,"delete from honks where dt < ? and whofore = 0 and convoy not in (select convoy from honks where whofore = 2 or whofore = 3)",expdate)
where="dt < ? and whofore = 0 and convoy not in (select convoy from honks where whofore = 2 or whofore = 3)"
sqlargs=append(sqlargs,expdate)
}
doordie(db,"delete from honks where "+where,sqlargs...)
doordie(db,"delete from donks where honkid not in (select honkid from honks)")
doordie(db,"delete from onts where honkid not in (select honkid from honks)")
doordie(db,"delete from places where honkid not in (select honkid from honks)")
doordie(db,"delete from filemeta where fileid not in (select fileid from donks)")
for_,u:=rangeallusers(){
doordie(db,"delete from zonkers where userid = ? and wherefore = 'zonvoy' and zonkerid < (select zonkerid from zonkers where userid = ? and wherefore = 'zonvoy' order by zonkerid desc limit 1 offset 200)",u.UserID,u.UserID)
}
filexids:=make(map[string]bool)
blobdb:=openblobdb()
rows,err:=blobdb.Query("select xid from filedata")
iferr!=nil{
log.Fatal(err)
}
forrows.Next(){
varxidstring
err=rows.Scan(&xid)
iferr!=nil{
log.Fatal(err)
}
filexids[xid]=true
}
rows.Close()
rows,err=db.Query("select xid from filemeta")
forrows.Next(){
varxidstring
err=rows.Scan(&xid)
iferr!=nil{
log.Fatal(err)
}
delete(filexids,xid)
}
rows.Close()
tx,err:=blobdb.Begin()
iferr!=nil{
log.Fatal(err)
}
forxid,_:=rangefilexids{
_,err=tx.Exec("delete from filedata where xid = ?",xid)