database

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2020 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TxKey ctxKey = iota
)

Variables

View Source
var (
	ErrNoTx = errors.New("Tx does not exist")
)

Functions

func NewMigrate added in v0.4.0

func NewMigrate(driver, dsn string) (*migrate.Migrate, error)

func Open

func Open(driver, dsn string) (*sql.DB, error)

func WithTx added in v0.4.0

func WithTx(ctx context.Context, tx *Tx) context.Context

Types

type Builder added in v0.4.0

type Builder struct {
	squirrel.StatementBuilderType
}

func NewBuilder added in v0.4.0

func NewBuilder(driver string) Builder

func NewBuilderFromBase added in v0.4.0

func NewBuilderFromBase(base squirrel.StatementBuilderType) Builder

func (Builder) RunWith added in v0.4.0

func (b Builder) RunWith(runner Runner) Builder

type DB

type DB struct {
	*sql.DB
	Locker

	Migrate *migrate.Migrate
	Builder Builder
	// contains filtered or unexported fields
}

func NewDB added in v0.4.0

func NewDB(driver, dsn string) (*DB, error)

func (*DB) Begin added in v0.4.0

func (d *DB) Begin() (*Tx, error)

func (*DB) CommitFrom added in v0.4.0

func (d *DB) CommitFrom(ctx context.Context) error

func (*DB) DriverName added in v0.4.0

func (d *DB) DriverName() string

func (*DB) Exec added in v0.4.0

func (d *DB) Exec(query string, args ...interface{}) (sql.Result, error)

func (*DB) Query added in v0.4.0

func (d *DB) Query(query string, args ...interface{}) (*sql.Rows, error)

func (*DB) RollbackFrom added in v0.4.0

func (d *DB) RollbackFrom(ctx context.Context) error

func (*DB) TxFrom added in v0.4.0

func (d *DB) TxFrom(ctx context.Context) (*Tx, error)

func (*DB) TxFunc added in v0.4.0

func (d *DB) TxFunc(ctx context.Context, fn func(context.Context) bool) error

func (*DB) WithTx added in v0.4.0

func (d *DB) WithTx(ctx context.Context) (context.Context, error)

type Execer

type Execer interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
}

type Locker

type Locker interface {
	sync.Locker
}

func NewDriverLocker added in v0.4.0

func NewDriverLocker(driver string) Locker

type NopLocker added in v0.4.0

type NopLocker struct{}

func (*NopLocker) Lock added in v0.4.0

func (n *NopLocker) Lock()

func (*NopLocker) Unlock added in v0.4.0

func (n *NopLocker) Unlock()

type Queryer

type Queryer interface {
	Query(query string, args ...interface{}) (*sql.Rows, error)
}

type RowScanner added in v0.4.0

type RowScanner interface {
	Scan(dest ...interface{}) error
}

type Runner added in v0.4.0

type Runner interface {
	Queryer
	Execer
}

type Tx

type Tx struct {
	*sql.Tx
	Locker
}

func TxFrom added in v0.4.0

func TxFrom(ctx context.Context) *Tx

func (*Tx) Commit

func (t *Tx) Commit() error

func (*Tx) Exec added in v0.4.0

func (t *Tx) Exec(query string, args ...interface{}) (sql.Result, error)

func (*Tx) Query added in v0.4.0

func (t *Tx) Query(query string, args ...interface{}) (*sql.Rows, error)

func (*Tx) Rollback

func (t *Tx) Rollback() error

type Txer added in v0.4.0

type Txer interface {
	Begin() (*Tx, error)
	WithTx(context.Context) (context.Context, error)
	TxFrom(context.Context) (*Tx, error)
	TxFunc(context.Context, func(context.Context) bool) error
	CommitFrom(context.Context) error
	RollbackFrom(context.Context) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL