package sql import ( "database/sql" "git.sr.ht/~cco/go-scopes/logging/log" ) type Cfg struct { Driver, Connstr string } type Storage struct { *sql.DB } func Open(cfg *Cfg) *Storage { db, err := sql.Open(cfg.Driver, cfg.Connstr) if err != nil { log.Error(err).Msg("sql.Open") return nil } return &Storage{db} } func (db *Storage) Exec(q string, args ...interface{}) (int64, error) { info := "sql.Exec" //log.Debug().Str("query", q).Msg(info) res, err := db.DB.Exec(q, args...) if err != nil { log.Error(err).Str("query", q).Msg(info) return 0, err } nrows, _ := res.RowsAffected() return nrows, nil }