diff --git a/fun.go b/fun.go index 1a14718..c389273 100644 --- a/fun.go +++ b/fun.go @@ -476,6 +476,7 @@ func bitethethumbs() { return } defer rows.Close() + thumblock.Lock() defer thumblock.Unlock() thumbbiters = make(map[int64]map[string]bool) diff --git a/honk.go b/honk.go index 7bd7c59..a7b0535 100644 --- a/honk.go +++ b/honk.go @@ -391,6 +391,7 @@ func xzone(w http.ResponseWriter, r *http.Request) { log.Printf("query err: %s", err) return } + defer rows.Close() for rows.Next() { var s string rows.Scan(&s) @@ -1123,13 +1124,13 @@ type Zonker struct { } func zonkzone(w http.ResponseWriter, r *http.Request) { - db := opendatabase() userinfo := login.GetUserInfo(r) - rows, err := db.Query("select zonkerid, name, wherefore from zonkers where userid = ?", userinfo.UserID) + rows, err := stmtGetZonkers.Query(userinfo.UserID) if err != nil { log.Printf("err: %s", err) return } + defer rows.Close() var zonkers []Zonker for rows.Next() { var z Zonker @@ -1428,7 +1429,7 @@ var stmtHonksByHonker, stmtSaveHonk, stmtFileData, stmtWhatAbout *sql.Stmt var stmtFindXonk, stmtSaveDonk, stmtFindFile, stmtSaveFile *sql.Stmt var stmtAddDoover, stmtGetDoovers, stmtLoadDoover, stmtZapDoover *sql.Stmt var stmtHasHonker, stmtThumbBiters, stmtZonkIt, stmtZonkDonks, stmtSaveZonker *sql.Stmt -var stmtRecentHonkers, stmtGetXonker, stmtSaveXonker *sql.Stmt +var stmtGetZonkers, stmtRecentHonkers, stmtGetXonker, stmtSaveXonker *sql.Stmt func preparetodie(db *sql.DB, s string) *sql.Stmt { stmt, err := db.Prepare(s) @@ -1474,6 +1475,7 @@ func prepareStatements(db *sql.DB) { stmtLoadDoover = preparetodie(db, "select tries, username, rcpt, msg from doovers where dooverid = ?") stmtZapDoover = preparetodie(db, "delete from doovers where dooverid = ?") stmtThumbBiters = preparetodie(db, "select userid, name, wherefore from zonkers where (wherefore = 'zonker' or wherefore = 'zurl' or wherefore = 'zword')") + stmtGetZonkers = preparetodie(db, "select zonkerid, name, wherefore from zonkers where userid = ?") stmtSaveZonker = preparetodie(db, "insert into zonkers (userid, name, wherefore) values (?, ?, ?)") stmtGetXonker = preparetodie(db, "select info from xonkers where name = ? and flavor = ?") stmtSaveXonker = preparetodie(db, "insert into xonkers (name, info, flavor) values (?, ?, ?)")