Closed
Description
Issue description
Config.FormatDSN does not take into account ConnectionAttributes property.
Example code
package main
import (
"log"
"github.com/go-sql-driver/mysql"
)
func main() {
testDSN := "usr/pwd@tcp(127.0.0.1:3306)/dbname?connectionAttributes=foo:bar"
cfg, err := mysql.ParseDSN(testDSN)
if err != nil {
log.Fatal("something went really wrong")
}
if cfg.ConnectionAttributes == "foo:bar" {
reformattedDSN := cfg.FormatDSN()
if reformattedDSN != testDSN {
log.Fatalf("Ooops, that's buggy\noriginalDSN = %q\nreformattedDSN = %q", testDSN, reformattedDSN)
}
} else {
log.Fatal("I wasn't expecting this")
}
}
Error log
Running code from above will produce something like
2024/08/02 10:23:24 Ooops, that's buggy
originalDSN = "usr/pwd@tcp(127.0.0.1:3306)/dbname?connectionAttributes=foo:bar"
reformattedDSN = "usr/pwd@tcp(127.0.0.1:3306)/dbname"
Configuration
Not relevant in this particular case, but still:
Driver version (or git SHA): 1.8.1
Go version: go1.22.4 darwin/arm64
Server version: mysql Ver 8.4.0 for Linux on aarch64 (MySQL Community Server - GPL)
Server OS: linux c44dcabf32be 6.6.32-linuxkit #1 SMP Thu Jun 13 14:13:01 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
Metadata
Metadata
Assignees
Labels
No labels