Add Query methods to dbutil.Execable

This commit is contained in:
Tulir Asokan 2022-08-05 17:58:57 +03:00
commit b6fcbbf6b9

View file

@ -52,11 +52,32 @@ type Scannable interface {
Scan(...interface{}) error
}
type Execable interface {
Exec(query string, args ...interface{}) (sql.Result, error)
// Expected implementations of Scannable
var (
_ Scannable = (*sql.Row)(nil)
_ Scannable = (*sql.Rows)(nil)
)
type ContextExecable interface {
ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row
}
type Execable interface {
ContextExecable
Exec(query string, args ...interface{}) (sql.Result, error)
Query(query string, args ...interface{}) (*sql.Rows, error)
QueryRow(query string, args ...interface{}) *sql.Row
}
// Expected implementations of Execable
var (
_ Execable = (*sql.Tx)(nil)
_ Execable = (*sql.DB)(nil)
_ ContextExecable = (*sql.Conn)(nil)
)
type Database struct {
*sql.DB
Owner string