Files
stash/pkg/sqlite/tx.go
WithoutPants 964b559309 Restructure data layer (#2532)
* Add new txn manager interface
* Add txn management to sqlite
* Rename get to getByID
* Add contexts to repository methods
* Update query builders
* Add context to reader writer interfaces
* Use repository in resolver
* Tighten interfaces
* Tighten interfaces in dlna
* Tighten interfaces in match package
* Tighten interfaces in scraper package
* Tighten interfaces in scan code
* Tighten interfaces on autotag package
* Remove ReaderWriter usage
* Merge database package into sqlite
2022-09-06 07:03:40 +00:00

56 lines
1.1 KiB
Go

package sqlite
import (
"context"
"database/sql"
"github.com/jmoiron/sqlx"
)
type dbi struct{}
func (*dbi) Get(ctx context.Context, dest interface{}, query string, args ...interface{}) error {
tx, err := getTx(ctx)
if err != nil {
return err
}
return tx.Get(dest, query, args...)
}
func (*dbi) Select(ctx context.Context, dest interface{}, query string, args ...interface{}) error {
tx, err := getTx(ctx)
if err != nil {
return err
}
return tx.Select(dest, query, args...)
}
func (*dbi) Queryx(ctx context.Context, query string, args ...interface{}) (*sqlx.Rows, error) {
tx, err := getTx(ctx)
if err != nil {
return nil, err
}
return tx.Queryx(query, args...)
}
func (*dbi) NamedExec(ctx context.Context, query string, arg interface{}) (sql.Result, error) {
tx, err := getTx(ctx)
if err != nil {
return nil, err
}
return tx.NamedExec(query, arg)
}
func (*dbi) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error) {
tx, err := getTx(ctx)
if err != nil {
return nil, err
}
return tx.Exec(query, args...)
}