stdlib AfterConnect takes context

This commit is contained in:
Jack Christensen 2019-06-29 13:53:43 -05:00
parent 08b412740f
commit a99cd7758a

View File

@ -14,7 +14,7 @@ import (
type OptionOpenDB func(*connector) type OptionOpenDB func(*connector)
// OptionAfterConnect provide a callback for after connect. // OptionAfterConnect provide a callback for after connect.
func OptionAfterConnect(ac func(*pgx.Conn) error) OptionOpenDB { func OptionAfterConnect(ac func(context.Context, *pgx.Conn) error) OptionOpenDB {
return func(dc *connector) { return func(dc *connector) {
dc.AfterConnect = ac dc.AfterConnect = ac
} }
@ -23,7 +23,7 @@ func OptionAfterConnect(ac func(*pgx.Conn) error) OptionOpenDB {
func OpenDB(config pgx.ConnConfig, opts ...OptionOpenDB) *sql.DB { func OpenDB(config pgx.ConnConfig, opts ...OptionOpenDB) *sql.DB {
c := connector{ c := connector{
ConnConfig: config, ConnConfig: config,
AfterConnect: func(*pgx.Conn) error { return nil }, // noop after connect by default AfterConnect: func(context.Context, *pgx.Conn) error { return nil }, // noop after connect by default
driver: pgxDriver, driver: pgxDriver,
} }
@ -36,7 +36,7 @@ func OpenDB(config pgx.ConnConfig, opts ...OptionOpenDB) *sql.DB {
type connector struct { type connector struct {
pgx.ConnConfig pgx.ConnConfig
AfterConnect func(*pgx.Conn) error // function to call on every new connection AfterConnect func(context.Context, *pgx.Conn) error // function to call on every new connection
driver *Driver driver *Driver
} }
@ -51,7 +51,7 @@ func (c connector) Connect(ctx context.Context) (driver.Conn, error) {
return nil, err return nil, err
} }
if err = c.AfterConnect(conn); err != nil { if err = c.AfterConnect(ctx, conn); err != nil {
return nil, err return nil, err
} }