sqlx

package
v0.0.0-...-0220835 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClearDB

func ClearDB(ctx context.Context, db *sqlx.DB) error

func ConnectDB

func ConnectDB(t *testing.T) *sqlx.DB

func GetTextRecords

func GetTextRecords(ctx context.Context, db *sqlx.DB) ([]string, error)

Types

type Executor

type Executor interface {
	Exec(query string, args ...any) (sql.Result, error)
	ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
	Query(query string, args ...any) (*sql.Rows, error)
	QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error)
	QueryRow(query string, args ...any) *sql.Row
	QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row
	Prepare(query string) (*sql.Stmt, error)
	PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
}

Executor represents common methods of sqlx.DB and sqlx.Tx.

type TextRepository

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

func NewTextRepository

func NewTextRepository(transactor repoTransactor, errorExpected bool) *TextRepository

func (*TextRepository) Insert

func (r *TextRepository) Insert(ctx context.Context, val string) error

type Transactor

type Transactor struct {
	*oniontx.Transactor[*Wrapper, *TxWrapper]
}

Transactor manage a transaction for single [pgx.Conn] instance.

func NewTransactor

func NewTransactor(db *sqlx.DB) *Transactor

NewTransactor returns new Transactor (sqlx implementation).

func (*Transactor) GetExecutor

func (t *Transactor) GetExecutor(ctx context.Context) Executor

GetExecutor returns Executor implementation (*sqlx.DB or *sqlx.Tx default wrappers).

func (*Transactor) TryGetTx

func (t *Transactor) TryGetTx(ctx context.Context) (*sqlx.Tx, bool)

TryGetTx returns pointer of sqlx.Tx and "true" from context.Context or return `false`.

func (*Transactor) TxBeginner

func (t *Transactor) TxBeginner() *sqlx.DB

TxBeginner returns pointer of sqlx.DB.

type TxWrapper

type TxWrapper struct {
	*sqlx.Tx
}

TxWrapper wraps sqlx.Tx and implements oniontx.Tx

func (*TxWrapper) Commit

func (t *TxWrapper) Commit(_ context.Context) error

Commit commits the transaction.

func (*TxWrapper) Rollback

func (t *TxWrapper) Rollback(_ context.Context) error

Rollback aborts the transaction.

type UseCase

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

func NewUseCase

func NewUseCase(textRepoA repository, textRepoB repository, transactor transactor) *UseCase

func (*UseCase) CreateTextRecords

func (u *UseCase) CreateTextRecords(ctx context.Context, text string) error

type UseCases

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

func NewUseCases

func NewUseCases(useCaseA useCase, useCaseB useCase, transactor transactor) *UseCases

func (*UseCases) CreateTextRecords

func (u *UseCases) CreateTextRecords(ctx context.Context, text string) error

type Wrapper

type Wrapper struct {
	*sqlx.DB
}

Wrapper wraps sqlx.DB and implements oniontx.TxBeginner.

func (*Wrapper) BeginTx

func (w *Wrapper) BeginTx(ctx context.Context) (*TxWrapper, error)

BeginTx starts a transaction.

Jump to

Keyboard shortcuts

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