|
|
@@ -15,6 +15,7 @@ import (
|
|
|
"fmt"
|
|
|
"net"
|
|
|
"net/url"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
@@ -257,7 +258,12 @@ func (cfg *Config) FormatDSN() string {
|
|
|
|
|
|
// other params
|
|
|
if cfg.Params != nil {
|
|
|
- for param, value := range cfg.Params {
|
|
|
+ var params []string
|
|
|
+ for param := range cfg.Params {
|
|
|
+ params = append(params, param)
|
|
|
+ }
|
|
|
+ sort.Strings(params)
|
|
|
+ for _, param := range params {
|
|
|
if hasParam {
|
|
|
buf.WriteByte('&')
|
|
|
} else {
|
|
|
@@ -267,7 +273,7 @@ func (cfg *Config) FormatDSN() string {
|
|
|
|
|
|
buf.WriteString(param)
|
|
|
buf.WriteByte('=')
|
|
|
- buf.WriteString(url.QueryEscape(value))
|
|
|
+ buf.WriteString(url.QueryEscape(cfg.Params[param]))
|
|
|
}
|
|
|
}
|
|
|
|