Documentation
¶
Overview ¶
Package pgxcommon provides Row, Rows, and Transaction wrappers shared by all pgx-based database dialect implementations (Postgres, Spanner via PGAdapter, …).
Index ¶
- func AccessModeToPgx(accessMode database.AccessMode) pgx.TxAccessMode
- func IsolationToPgx(isolation database.IsolationLevel) pgx.TxIsoLevel
- func TransactionOptionsToPgx(opts *database.TransactionOptions) pgx.TxOptions
- type Row
- type Rows
- type Transaction
- func (tx *Transaction) Begin(ctx context.Context, _ *database.TransactionOptions) (database.Transaction, error)
- func (tx *Transaction) Commit(ctx context.Context) error
- func (tx *Transaction) End(ctx context.Context, err error) error
- func (tx *Transaction) Exec(ctx context.Context, sql string, args ...any) (int64, error)
- func (tx *Transaction) Query(ctx context.Context, sql string, args ...any) (database.Rows, error)
- func (tx *Transaction) QueryRow(ctx context.Context, sql string, args ...any) database.Row
- func (tx *Transaction) Rollback(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AccessModeToPgx ¶
func AccessModeToPgx(accessMode database.AccessMode) pgx.TxAccessMode
AccessModeToPgx converts a database.AccessMode to its pgx equivalent.
func IsolationToPgx ¶
func IsolationToPgx(isolation database.IsolationLevel) pgx.TxIsoLevel
IsolationToPgx converts a database.IsolationLevel to its pgx equivalent.
func TransactionOptionsToPgx ¶
func TransactionOptionsToPgx(opts *database.TransactionOptions) pgx.TxOptions
TransactionOptionsToPgx converts database.TransactionOptions to pgx options.
Types ¶
type Row ¶
Row wraps pgx.Row and applies a dialect-specific error mapper.
type Rows ¶
Rows wraps pgx.Rows and applies a dialect-specific error mapper.
func (*Rows) Collect ¶
Collect implements database.CollectableRows.
func (*Rows) CollectExactlyOneRow ¶
CollectExactlyOneRow implements database.CollectableRows.
func (*Rows) CollectFirst ¶
CollectFirst implements database.CollectableRows.
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
Transaction wraps pgx.Tx and applies a dialect-specific error mapper.
func NewTransaction ¶
func NewTransaction(tx pgx.Tx, wrapErr func(error) error) *Transaction
NewTransaction wraps tx, applying wrapErr to all errors.
func (*Transaction) Begin ¶
func (tx *Transaction) Begin(ctx context.Context, _ *database.TransactionOptions) (database.Transaction, error)
Begin creates a savepoint to emulate nested transactions. opts is ignored because pgx savepoints do not accept per-nested-tx options.