diff options
Diffstat (limited to 'src/database/sql/sql.go')
| -rw-r--r-- | src/database/sql/sql.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index 30b4ad3609..1192eaae26 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -662,6 +662,14 @@ func Open(driverName, dataSourceName string) (*DB, error) { return nil, fmt.Errorf("sql: unknown driver %q (forgotten import?)", driverName) } + if driverCtx, ok := driveri.(driver.DriverContext); ok { + connector, err := driverCtx.OpenConnector(dataSourceName) + if err != nil { + return nil, err + } + return OpenDB(connector), nil + } + return OpenDB(dsnConnector{dsn: dataSourceName, driver: driveri}), nil } |
