sqlx

package
v1.0.10 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DuplicateEntryErrNumber uint16 = 1062
View Source
var ErrNotDB = errors.New("db is not *sql.DB")
View Source
var ErrNotTx = errors.New("db is not *sql.Tx")

Functions

func AsAssignments added in v1.0.1

func AsAssignments(db DBExecutor, model builder.Model, zeroFields ...string) builder.Assignments

func DBErr

func DBErr(err error) *dbErr

func FieldValuesFromModel added in v1.0.1

func FieldValuesFromModel(table *builder.Table, model builder.Model, zeroFields ...string) builder.FieldValues

func InsertToDB added in v1.0.1

func InsertToDB(db DBExecutor, model builder.Model, zeroFields []string, additions ...builder.Addition) builder.SqlExpr

func Scan added in v1.0.1

func Scan(rows *sql.Rows, v interface{}) error

Types

type DB

type DB struct {
	*Database
	SqlExecutor
	// contains filtered or unexported fields
}

func (*DB) Begin

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

func (*DB) BeginTx added in v1.0.1

func (d *DB) BeginTx(opt *sql.TxOptions) (DBExecutor, error)

func (*DB) Commit

func (d *DB) Commit() error

func (*DB) Context added in v1.0.1

func (d *DB) Context() context.Context

func (*DB) D added in v1.0.1

func (d *DB) D() *Database

func (*DB) Dialect added in v1.0.1

func (d *DB) Dialect() builder.Dialect

func (*DB) ExecExpr added in v1.0.1

func (d *DB) ExecExpr(expr builder.SqlExpr) (sql.Result, error)

func (*DB) IsTx

func (d *DB) IsTx() bool

func (*DB) Migrate added in v1.0.1

func (d *DB) Migrate(ctx context.Context, db DBExecutor) error

func (*DB) QueryExpr added in v1.0.1

func (d *DB) QueryExpr(expr builder.SqlExpr) (*sql.Rows, error)

func (*DB) QueryExprAndScan added in v1.0.1

func (d *DB) QueryExprAndScan(expr builder.SqlExpr, v interface{}) error

func (*DB) Rollback

func (d *DB) Rollback() error

func (*DB) SetConnMaxLifetime

func (d *DB) SetConnMaxLifetime(t time.Duration)

func (*DB) SetMaxIdleConns

func (d *DB) SetMaxIdleConns(n int)

func (*DB) SetMaxOpenConns

func (d *DB) SetMaxOpenConns(n int)

func (*DB) WithContext added in v1.0.1

func (d *DB) WithContext(ctx context.Context) DBExecutor

func (DB) WithSchema added in v1.0.1

func (d DB) WithSchema(schema string) DBExecutor

type DBExecutor added in v1.0.1

type DBExecutor interface {
	SqlxExecutor

	// dialect of databases
	Dialect() builder.Dialect
	// return database which is connecting
	D() *Database
	// switch database schema
	WithSchema(schema string) DBExecutor
	// return table of the connecting database
	T(model builder.Model) *builder.Table

	Context() context.Context
	WithContext(ctx context.Context) DBExecutor
}

type DBNameBinder added in v1.0.1

type DBNameBinder interface {
	WithDBName(dbName string) driver.Connector
}

type Database

type Database struct {
	Name   string
	Schema string
	Tables builder.Tables `json:"-" ignored:true`
}

func NewDatabase

func NewDatabase(name string) *Database

func NewFeatureDatabase

func NewFeatureDatabase(name string) *Database

func (*Database) AddTable added in v1.0.1

func (database *Database) AddTable(table *builder.Table)

func (*Database) OpenDB added in v1.0.1

func (database *Database) OpenDB(connector driver.Connector) *DB

func (*Database) Register

func (database *Database) Register(model builder.Model) *builder.Table

func (*Database) T

func (database *Database) T(model builder.Model) *builder.Table

func (*Database) Table added in v1.0.1

func (database *Database) Table(tableName string) *builder.Table

func (Database) WithSchema added in v1.0.1

func (database Database) WithSchema(schema string) *Database

type MaybeTxExecutor added in v1.0.1

type MaybeTxExecutor interface {
	IsTx() bool
	BeginTx(*sql.TxOptions) (DBExecutor, error)
	Begin() (DBExecutor, error)
	Commit() error
	Rollback() error
}

type Migrator added in v1.0.1

type Migrator interface {
	Migrate(ctx context.Context, db DBExecutor) error
}

type ScanIterator added in v1.0.1

type ScanIterator interface {
	// new a ptr value for scan
	New() interface{}
	// for receive scanned value
	Next(v interface{}) error
}

type SqlError

type SqlError struct {
	Type sqlErrType
	Msg  string
}

func NewSqlError

func NewSqlError(tpe sqlErrType, msg string) *SqlError

func (*SqlError) Error

func (e *SqlError) Error() string

type SqlExecutor

type SqlExecutor interface {
	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
	QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
}

type SqlxExecutor added in v1.0.1

type SqlxExecutor interface {
	SqlExecutor
	ExecExpr(expr builder.SqlExpr) (sql.Result, error)
	QueryExpr(expr builder.SqlExpr) (*sql.Rows, error)

	QueryExprAndScan(expr builder.SqlExpr, v interface{}) error
}

type Task

type Task func(db DBExecutor) error

func (Task) Run

func (task Task) Run(db DBExecutor) (err error)

type Tasks

type Tasks struct {
	// contains filtered or unexported fields
}

func NewTasks

func NewTasks(db DBExecutor) *Tasks

func (*Tasks) Do

func (tasks *Tasks) Do() (err error)

func (Tasks) With

func (tasks Tasks) With(task ...Task) *Tasks

Jump to

Keyboard shortcuts

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