File tree Expand file tree Collapse file tree 2 files changed +24
-4
lines changed
Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ import (
6666 "math"
6767 "math/rand"
6868 "reflect"
69+ "sort"
6970 "strconv"
7071 "strings"
7172 "sync"
@@ -85,7 +86,13 @@ func init() {
8586 pgxDriver = & Driver {
8687 configs : make (map [string ]* pgx.ConnConfig ),
8788 }
88- sql .Register ("pgx" , pgxDriver )
89+
90+ drivers := sql .Drivers ()
91+ // if pgx driver was already registered by different pgx major version then we skip registration under the default name.
92+ if i := sort .SearchStrings (sql .Drivers (), "pgx" ); len (drivers ) >= i || drivers [i ] != "pgx" {
93+ sql .Register ("pgx" , pgxDriver )
94+ }
95+ sql .Register ("pgx/v5" , pgxDriver )
8996
9097 databaseSQLResultFormats = pgx.QueryResultFormatsByOID {
9198 pgtype .BoolOID : 1 ,
Original file line number Diff line number Diff line change @@ -146,9 +146,22 @@ func closeStmt(t *testing.T, stmt *sql.Stmt) {
146146}
147147
148148func TestSQLOpen (t * testing.T ) {
149- db , err := sql .Open ("pgx" , os .Getenv ("PGX_TEST_DATABASE" ))
150- require .NoError (t , err )
151- closeDB (t , db )
149+ tests := []struct {
150+ driverName string
151+ }{
152+ {driverName : "pgx" },
153+ {driverName : "pgx/v5" },
154+ }
155+
156+ for _ , tt := range tests {
157+ tt := tt
158+
159+ t .Run (tt .driverName , func (t * testing.T ) {
160+ db , err := sql .Open (tt .driverName , os .Getenv ("PGX_TEST_DATABASE" ))
161+ require .NoError (t , err )
162+ closeDB (t , db )
163+ })
164+ }
152165}
153166
154167func TestNormalLifeCycle (t * testing.T ) {
You can’t perform that action at this time.
0 commit comments