sqlc: base pgx servant add custom context help method

r/paopao-ce-pro
Michael Li 3 years ago
parent d666b73e83
commit 38ffa181e1
No known key found for this signature in database

@ -63,6 +63,28 @@ func (s *pgxServant) withTx(txOptions pgx.TxOptions, handle func(dbr.Querier) er
return tx.Rollback(ctx) return tx.Rollback(ctx)
} }
func (s *pgxServant) withCtx(ctx context.Context, handle func(dbr.Querier) error) error {
tx, err := s.db.Begin(ctx)
if err != nil {
return err
}
if err = handle(dbr.New(tx)); err == nil {
return tx.Commit(ctx)
}
return tx.Rollback(ctx)
}
func (s *pgxServant) withTxCtx(ctx context.Context, txOptions pgx.TxOptions, handle func(dbr.Querier) error) error {
tx, err := s.db.BeginTx(ctx, txOptions)
if err != nil {
return err
}
if err = handle(dbr.New(tx)); err == nil {
return tx.Commit(ctx)
}
return tx.Rollback(ctx)
}
func newPgxServant(db *pgx.Conn) *pgxServant { func newPgxServant(db *pgx.Conn) *pgxServant {
return &pgxServant{ return &pgxServant{
db: db, db: db,

Loading…
Cancel
Save