2
0

Expose Conn.Config() and Pool.Config().

This commit is contained in:
georgysavva
2020-05-16 19:53:08 +03:00
parent 33cbec368f
commit 20c6c44f9f
4 changed files with 34 additions and 13 deletions
+6 -3
View File
@@ -69,7 +69,7 @@ func (cr *connResource) getPoolRows(c *Conn, r pgx.Rows) *poolRows {
type Pool struct {
p *puddle.Pool
connString string
config *Config
afterConnect func(context.Context, *pgx.Conn) error
beforeAcquire func(context.Context, *pgx.Conn) bool
afterRelease func(*pgx.Conn) bool
@@ -142,7 +142,7 @@ func ConnectConfig(ctx context.Context, config *Config) (*Pool, error) {
}
p := &Pool{
connString: config.ConnConfig.ConnString,
config: config,
afterConnect: config.AfterConnect,
beforeAcquire: config.BeforeAcquire,
afterRelease: config.AfterRelease,
@@ -372,7 +372,10 @@ func (p *Pool) AcquireAllIdle(ctx context.Context) []*Conn {
}
// ConnString returns the connection string that was used to initialize this pool.
func (p *Pool) ConnString() string { return p.connString }
func (p *Pool) ConnString() string { return p.config.ConnConfig.ConnString() }
// Config returns config that was used to initialize this pool.
func (p *Pool) Config() *Config { return p.config }
func (p *Pool) Stat() *Stat {
return &Stat{s: p.p.Stat()}
+14 -3
View File
@@ -14,10 +14,21 @@ import (
func TestConnect(t *testing.T) {
t.Parallel()
connStr := os.Getenv("PGX_TEST_DATABASE")
pool, err := pgxpool.Connect(context.Background(), connStr)
connString := os.Getenv("PGX_TEST_DATABASE")
pool, err := pgxpool.Connect(context.Background(), connString)
require.NoError(t, err)
assert.Equal(t, connStr, pool.ConnString())
assert.Equal(t, connString, pool.ConnString())
pool.Close()
}
func TestConnectConfig(t *testing.T) {
t.Parallel()
connString := os.Getenv("PGX_TEST_DATABASE")
config, err := pgxpool.ParseConfig(connString)
require.NoError(t, err)
pool, err := pgxpool.ConnectConfig(context.Background(), config)
require.NoError(t, err)
assert.Equal(t, config, pool.Config())
pool.Close()
}