db

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 3

Documentation

Index

Constants

View Source
const (
	ErrInvalidParameters = utils.Error("invalid parameter count or parameter is nil")
)

Variables

This section is empty.

Functions

func EmptyResult added in v0.2.0

func EmptyResult(err error) bool

EmptyResult returns true if error is empty result

Types

type Builder added in v0.2.0

type Builder interface {
	Sql() goqu.DialectWrapper
	SqlSelect() *goqu.SelectDataset
	SqlInsert() *goqu.InsertDataset
	SqlUpdate() *goqu.UpdateDataset
	SqlDelete() *goqu.DeleteDataset
}

type Client

type Client interface {
	GetClient() *sqlx.DB
	IsConnected() bool
	Connect() error
	Disconnect()
}

type ConnectionOptions added in v0.2.0

type ConnectionOptions interface {
	Apply(db *sqlx.DB) error
}

type Deleter added in v0.2.0

type Deleter interface {
	Delete(qry *goqu.DeleteDataset) error
	DeleteWhere(fieldNameValue map[string]any) error
	DeleteByKey(keyField string, value any) error
}

type Executor added in v0.1.4

type Executor interface {
	Exec(qry *goqu.SelectDataset) error
	RawExec(sql string, args ...any) error
	Select(sql string, target any, args ...any) error
}

type FV added in v0.2.2

type FV map[string]any // alias for fieldValues maps

type Identifier added in v0.2.0

type Identifier interface {
	Db() *sqlx.DB
	Name() string
}

type Reader added in v0.2.0

type Reader interface {
	FetchOne(qry *goqu.SelectDataset, target any) error
	FetchRecord(fieldValues map[string]any, target any) error
	Fetch(qry *goqu.SelectDataset, target any) error
	FetchWhere(fieldValues map[string]any, target any) error
	FetchByKey(keyField string, value any, target any) error
	Exists(fieldName string, fieldValue any, skip ...any) (bool, error)
}

type Repository added in v0.2.0

type Repository interface {
	Identifier
	Builder
	Reader
	Executor
	Writer
	Deleter
	Updater
	NewTransaction(opts *sql.TxOptions) (Transaction, error)
}

func NewRepository added in v0.2.0

func NewRepository(ctx context.Context, conn *SqlClient, tableName string) Repository

type SqlClient added in v0.1.1

type SqlClient struct {
	Conn       *sqlx.DB
	Dsn        string
	DriverName string
	// contains filtered or unexported fields
}

func NewSqlClient added in v0.1.1

func NewSqlClient(dsn string, driverName string, connOptions ConnectionOptions) *SqlClient

func (*SqlClient) Connect added in v0.1.1

func (c *SqlClient) Connect() error

func (*SqlClient) Db added in v0.2.0

func (c *SqlClient) Db() *sqlx.DB

func (*SqlClient) Disconnect added in v0.1.1

func (c *SqlClient) Disconnect()

func (*SqlClient) IsConnected added in v0.1.1

func (c *SqlClient) IsConnected() bool

type SqlxReaderCtx added in v0.2.1

type SqlxReaderCtx interface {
	SelectContext(ctx context.Context, dest interface{}, query string, args ...interface{}) error
}

type Transaction added in v0.2.0

type Transaction interface {
	Builder
	Reader
	Executor
	Writer
	Deleter
	Updater

	Db() *sqlx.Tx
	Name() string

	Commit() error
	Rollback() error
}

type Updater added in v0.2.0

type Updater interface {
	Update(qry *goqu.UpdateDataset) error
	UpdateRecord(record any, whereFieldsValues map[string]any) error
	UpdateByKey(record any, keyField string, keyValue any) error
}

type Writer added in v0.2.0

type Writer interface {
	Insert(records ...any) error
	InsertReturning(record any, returnFields []interface{}, target ...any) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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