mirror of https://github.com/jackc/pgx.git
Fix Open with OpenFromConnPool
parent
7d0e178424
commit
bdb5387646
|
@ -20,6 +20,15 @@ type Driver struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Driver) Open(name string) (driver.Conn, error) {
|
func (d *Driver) Open(name string) (driver.Conn, error) {
|
||||||
|
if d.Pool != nil {
|
||||||
|
conn, err := d.Pool.Acquire()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &Conn{conn: conn}, nil
|
||||||
|
}
|
||||||
|
|
||||||
connConfig, err := pgx.ParseURI(name)
|
connConfig, err := pgx.ParseURI(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -117,10 +117,18 @@ func TestOpenFromConnPool(t *testing.T) {
|
||||||
}
|
}
|
||||||
defer closeDB(t, db)
|
defer closeDB(t, db)
|
||||||
|
|
||||||
|
// Can get pgx.ConnPool from driver
|
||||||
driver := db.Driver().(*stdlib.Driver)
|
driver := db.Driver().(*stdlib.Driver)
|
||||||
if driver.Pool == nil {
|
if driver.Pool == nil {
|
||||||
t.Fatal("Expected driver opened through OpenFromConnPool to have Pool, but it did not")
|
t.Fatal("Expected driver opened through OpenFromConnPool to have Pool, but it did not")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Normal sql/database still works
|
||||||
|
var n int64
|
||||||
|
err = db.QueryRow("select 1").Scan(&n)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("db.QueryRow unexpectedly failed: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStmtExec(t *testing.T) {
|
func TestStmtExec(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue