database/sql: add Drivers, returning list of registered drivers
Fixes #7969.
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/158950043
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go
index 731b7a7..ad9179c 100644
--- a/src/database/sql/sql.go
+++ b/src/database/sql/sql.go
@@ -18,6 +18,7 @@
"fmt"
"io"
"runtime"
+ "sort"
"sync"
)
@@ -36,6 +37,16 @@
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.