aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/sql_test.go
diff options
context:
space:
mode:
authorDaniel Theophanes <kardianos@gmail.com>2017-11-14 08:53:56 -0800
committerDaniel Theophanes <kardianos@gmail.com>2017-11-16 22:36:07 +0000
commitb44b2feb914d866250f2efb744b24de0ce8c161a (patch)
tree6820e8a597a5d2e51282ca3f490f92522995d665 /src/database/sql/sql_test.go
parent096b195df5b6b29521af3e10ef40f4118164596b (diff)
downloadgo-b44b2feb914d866250f2efb744b24de0ce8c161a.tar.xz
database/sql: allow OpenConnector in a driver.Driver interface
While driver.Connector was previously added to allow non-string connection arguments and access to the context, most users of the sql package will continue to rely on a string DSN. Allow drivers to implement a string DSN to Connector interface that both allows a single parsing of the string DSN and uses the Connector interface which passes available context to the driver dialer. Fixes #22713 Change-Id: Ia0b862262f4c4670effe2538d0d6d43733fea18d Reviewed-on: https://go-review.googlesource.com/77550 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/database/sql/sql_test.go')
-rw-r--r--src/database/sql/sql_test.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/database/sql/sql_test.go b/src/database/sql/sql_test.go
index f7b7d988e1..8137eff82b 100644
--- a/src/database/sql/sql_test.go
+++ b/src/database/sql/sql_test.go
@@ -3523,6 +3523,19 @@ func TestNamedValueCheckerSkip(t *testing.T) {
}
}
+func TestOpenConnector(t *testing.T) {
+ Register("testctx", &fakeDriverCtx{})
+ db, err := Open("testctx", "people")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer db.Close()
+
+ if _, is := db.connector.(*fakeConnector); !is {
+ t.Fatal("not using *fakeConnector")
+ }
+}
+
type ctxOnlyDriver struct {
fakeDriver
}