db

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2020 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

DependencyInjectionSet provides the basic dependencies

View Source
var SingleDBDependencyInjectionSet = wire.NewSet(
	NewSingleDBResolver,
	NewSingleDBResolverBuilder,
)

SingleDBDependencyInjectionSet provides the dependencies for a single DB scenario

Functions

This section is empty.

Types

type ContextExecutor

type ContextExecutor interface {
	Executor

	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
}

ContextExecutor can perform SQL queries with context

type DefaultDBResolverBuilder

type DefaultDBResolverBuilder interface {
	SetDefaultDB(*sql.DB)
}

DefaultDBResolverBuilder describes an object responsible of setting the resolver configuration

func NewSingleDBResolverBuilder

func NewSingleDBResolverBuilder() DefaultDBResolverBuilder

NewSingleDBResolverBuilder returns a new single database resolver builder

type Executor

type Executor interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
	Query(query string, args ...interface{}) (*sql.Rows, error)
	QueryRow(query string, args ...interface{}) *sql.Row
}

Executor can perform SQL queries.

type Resolver

type Resolver interface {
	GetDB() *sql.DB
}

Resolver describes an object responsible of deliver a database connection

func NewDirectDBResolver added in v0.5.1

func NewDirectDBResolver(db *sql.DB) Resolver

NewDirectDBResolver returns a new database resolver

func NewSingleDBResolver

func NewSingleDBResolver() Resolver

NewSingleDBResolver returns a new single database resolver

type UnitOfWork

type UnitOfWork interface {
	abstraction.UnitOfWork
	GetExecutor() ContextExecutor
}

UnitOfWork describes an SQL based unit of work

func NewSQLUnitOfWork

func NewSQLUnitOfWork(resolver Resolver) UnitOfWork

NewSQLUnitOfWork creates a new Unit of work

Jump to

Keyboard shortcuts

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