package db import ( "database/sql" "sync/atomic" ) // Beginner is an interface for types that can begin a database transaction. // Both *sql.DB and *DB implement this. type Beginner interface { Begin() (*sql.Tx, error) } // Host pairs a *sql.DB with the host:port it was opened against. type Host struct { Addr string // "host:port" DB *sql.DB healthy atomic.Bool }