aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql/sql.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-10-15 13:10:14 -0400
committerRuss Cox <rsc@golang.org>2014-10-15 13:10:14 -0400
commit5318a1b5b12d2836b23eb6b706f96f0247f2144a (patch)
tree23c0c9342657b022192d4a4b28db2fa01781ece1 /src/database/sql/sql.go
parent05c4b69f848a2de7acc604285d18e995f646adfc (diff)
downloadgo-5318a1b5b12d2836b23eb6b706f96f0247f2144a.tar.xz
database/sql: add Drivers, returning list of registered drivers
Fixes #7969. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/158950043
Diffstat (limited to 'src/database/sql/sql.go')
-rw-r--r--src/database/sql/sql.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go
index 731b7a7f79..ad9179cf7d 100644
--- a/src/database/sql/sql.go
+++ b/src/database/sql/sql.go
@@ -18,6 +18,7 @@ import (
"fmt"
"io"
"runtime"
+ "sort"
"sync"
)
@@ -36,6 +37,16 @@ func Register(name string, driver driver.Driver) {
drivers[name] = driver
}
+// Drivers returns a sorted list of the names of the registered drivers.
+func Drivers() []string {
+ var list []string
+ for name := range drivers {
+ list = append(list, name)
+ }
+ sort.Strings(list)
+ return list
+}
+
// RawBytes is a byte slice that holds a reference to memory owned by
// the database itself. After a Scan into a RawBytes, the slice is only
// valid until the next call to Next, Scan, or Close.