sqldb

package
v0.0.0-...-49b2967 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package sqldb provides support for access the database.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDBNotFound        = sql.ErrNoRows
	ErrDBDuplicatedEntry = errors.New("duplicated entry")
	ErrUndefinedTable    = errors.New("undefined table")
)

Set of error variables for CRUD operations.

Functions

func ExecContext

func ExecContext(ctx context.Context, db sqlx.ExtContext, query string) error

ExecContext is a helper function to execute a CUD operation with logging and tracing.

func GetExtContext

func GetExtContext(tx CommitRollbacker) (sqlx.ExtContext, error)

GetExtContext is a helper function that extracts the sqlx value from the domain transactor interface for transactional use.

func NamedExecContext

func NamedExecContext(ctx context.Context, db sqlx.ExtContext, query string, data any) (err error)

NamedExecContext is a helper function to execute a CUD operation with logging and tracing where field replacement is necessary.

func NamedQuerySlice

func NamedQuerySlice[T any](ctx context.Context, db sqlx.ExtContext, query string, data any, dest *[]T) error

NamedQuerySlice is a helper function for executing queries that return a collection of data to be unmarshalled into a slice where field replacement is necessary.

func NamedQuerySliceUsingIn

func NamedQuerySliceUsingIn[T any](ctx context.Context, db sqlx.ExtContext, query string, data any, dest *[]T) error

NamedQuerySliceUsingIn is a helper function for executing queries that return a collection of data to be unmarshalled into a slice where field replacement is necessary. Use this if the query has an IN clause.

func NamedQueryStruct

func NamedQueryStruct(ctx context.Context, db sqlx.ExtContext, query string, data any, dest any) error

NamedQueryStruct is a helper function for executing queries that return a single value to be unmarshalled into a struct type where field replacement is necessary.

func NamedQueryStructUsingIn

func NamedQueryStructUsingIn(ctx context.Context, db sqlx.ExtContext, query string, data any, dest any) error

NamedQueryStructUsingIn is a helper function for executing queries that return a single value to be unmarshalled into a struct type where field replacement is necessary. Use this if the query has an IN clause.

func Open

func Open(cfg Config) (*sqlx.DB, error)

Open knows how to open a database connection based on the configuration.

func QueryMap

func QueryMap(ctx context.Context, db sqlx.ExtContext, query string, dest *[]map[string]any) (err error)

QueryMap executes a query and places results into a map.

func QuerySlice

func QuerySlice[T any](ctx context.Context, db sqlx.ExtContext, query string, dest *[]T) error

QuerySlice is a helper function for executing queries that return a collection of data to be unmarshalled into a slice.

func QueryStruct

func QueryStruct(ctx context.Context, db sqlx.ExtContext, query string, dest any) error

QueryStruct is a helper function for executing queries that return a single value to be unmarshalled into a struct type where field replacement is necessary.

func StatusCheck

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

StatusCheck returns nil if it can successfully talk to the database. It returns a non-nil error otherwise.

Types

type Beginner

type Beginner interface {
	Begin() (CommitRollbacker, error)
}

Beginner represents a value that can begin a transaction.

type CommitRollbacker

type CommitRollbacker interface {
	Commit() error
	Rollback() error
}

CommitRollbacker represents a value that can commit or rollback a transaction.

type Config

type Config struct {
	User         string
	Password     string
	Host         string
	Name         string
	Schema       string
	MaxIdleConns int
	MaxOpenConns int
	DisableTLS   bool
}

Config is the required properties to use the database.

type DBBeginner

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

DBBeginner implements the Beginner interface,

func NewBeginner

func NewBeginner(sqlxDB *sqlx.DB) *DBBeginner

NewBeginner constructs a value that implements the beginner interface.

func (*DBBeginner) Begin

func (db *DBBeginner) Begin() (CommitRollbacker, error)

Begin implements the Beginner interface and returns a concrete value that implements the CommitRollbacker interface.

Directories

Path Synopsis
Package dbarray provides support for database array types.
Package dbarray provides support for database array types.

Jump to

Keyboard shortcuts

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