2
0

ParseDSN extracts RuntimeParams

This commit is contained in:
Jack Christensen
2015-10-16 15:48:24 -05:00
parent 5b0550c1cb
commit 829d61ce40
2 changed files with 32 additions and 6 deletions
+5 -1
View File
@@ -381,7 +381,7 @@ func ParseURI(uri string) (ConnConfig, error) {
return cp, nil
}
var dsn_regexp = regexp.MustCompile(`([a-z]+)=((?:"[^"]+")|(?:[^ ]+))`)
var dsn_regexp = regexp.MustCompile(`([a-zA-Z_]+)=((?:"[^"]+")|(?:[^ ]+))`)
// ParseDSN parses a database DSN (data source name) into a ConnConfig
//
@@ -397,6 +397,8 @@ func ParseDSN(s string) (ConnConfig, error) {
var sslmode string
cp.RuntimeParams = make(map[string]string)
for _, b := range m {
switch b[1] {
case "user":
@@ -415,6 +417,8 @@ func ParseDSN(s string) (ConnConfig, error) {
cp.Database = b[2]
case "sslmode":
sslmode = b[2]
default:
cp.RuntimeParams[b[1]] = b[2]
}
}