Documentation ¶
Overview ¶
Package pg provides support for access to a postgres database.
Index ¶
- Variables
- func NamedExecContext(ctx context.Context, log *zap.SugaredLogger, db sqlx.ExtContext, query string, ...) error
- func NamedQuerySlice[T any](ctx context.Context, log *zap.SugaredLogger, db sqlx.ExtContext, query string, ...) error
- func NamedQueryStruct(ctx context.Context, log *zap.SugaredLogger, db sqlx.ExtContext, query string, ...) error
- func Open(cfg Config) (*sqlx.DB, error)
- func StatusCheck(ctx context.Context, db *sqlx.DB) error
- func WithinTran(ctx context.Context, log *zap.SugaredLogger, db Transactor, ...) error
- type Config
- type Transactor
Constants ¶
This section is empty.
Variables ¶
var ( ErrDBNotFound = errors.New("not found") ErrDBDuplicatedEntry = errors.New("duplicated entry") )
Set of error variables for CRUD operations.
Functions ¶
func NamedExecContext ¶
func NamedExecContext(ctx context.Context, log *zap.SugaredLogger, db sqlx.ExtContext, query string, data any) error
NamedExecContext is a helper function to execute a CUD operation with logging and tracing.
func NamedQuerySlice ¶
func NamedQuerySlice[T any](ctx context.Context, log *zap.SugaredLogger, 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.
func NamedQueryStruct ¶
func NamedQueryStruct(ctx context.Context, log *zap.SugaredLogger, 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.
func StatusCheck ¶
StatusCheck returns nil if it can successfully talk to the database. It returns a non-nil error otherwise.
func WithinTran ¶
func WithinTran(ctx context.Context, log *zap.SugaredLogger, db Transactor, fn func(sqlx.ExtContext) error) error
WithinTran runs passed function and do commit/rollback at the end.
Types ¶
type Config ¶
type Config struct { User string Password string Host string Name string MaxIdleConns int MaxOpenConns int DisableTLS bool }
Config is the required properties to use the database.
type Transactor ¶
Transactor interface needed to begin transaction.
Directories ¶
Path | Synopsis |
---|---|
Package dbschema contains the database schema, migrations and seeding data.
|
Package dbschema contains the database schema, migrations and seeding data. |
Package dbtest contains supporting code for running tests that hit the DB.
|
Package dbtest contains supporting code for running tests that hit the DB. |