Documentation
¶
Overview ¶
Package riverpgxv5 provides a River driver implementation for Pgx v5.
This is currently the only supported driver for River and will therefore be used by all projects using River, but the code is organized this way so that other database packages can be supported in future River versions.
Index ¶
- type Driver
- type Executor
- func (e *Executor) Begin(ctx context.Context) (riverdriver.ExecutorTx, error)
- func (e *Executor) Exec(ctx context.Context, sql string) (struct{}, error)
- func (e *Executor) MigrationDeleteByVersionMany(ctx context.Context, versions []int) ([]*riverdriver.Migration, error)
- func (e *Executor) MigrationGetAll(ctx context.Context) ([]*riverdriver.Migration, error)
- func (e *Executor) MigrationInsertMany(ctx context.Context, versions []int) ([]*riverdriver.Migration, error)
- func (e *Executor) TableExists(ctx context.Context, tableName string) (bool, error)
- type ExecutorTx
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver is an implementation of riverdriver.Driver for Pgx v5.
func New ¶
New returns a new Pgx v5 River driver for use with River.
It takes a pgxpool.Pool to use for use with River. The pool should already be configured to use the schema specified in the client's Schema field. The pool must not be closed while associated River objects are running.
The database pool may be nil. If it is, a client that it's sent into will not be able to start up (calls to Start will error) and the Insert and InsertMany functions will be disabled, but the transactional-variants InsertTx and InsertManyTx continue to function. This behavior may be particularly useful in testing so that inserts can be performed and verified on a test transaction that will be rolled back.
func (*Driver) GetExecutor ¶
func (d *Driver) GetExecutor() riverdriver.Executor
func (*Driver) UnwrapExecutor ¶
func (d *Driver) UnwrapExecutor(tx pgx.Tx) riverdriver.Executor
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
func (*Executor) Begin ¶
func (e *Executor) Begin(ctx context.Context) (riverdriver.ExecutorTx, error)
func (*Executor) MigrationDeleteByVersionMany ¶
func (*Executor) MigrationGetAll ¶
func (*Executor) MigrationInsertMany ¶
type ExecutorTx ¶
type ExecutorTx struct { Executor // contains filtered or unexported fields }