Skip to content

Commit

Permalink
Add command line option to override default connect param
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-s-lee authored and awreece committed Jan 24, 2017
1 parent cf84f0e commit f0bd185
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
1 change: 1 addition & 0 deletions database.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ type ConnectionConfig struct {
Host string
Port int
Database string
Params string
}

/*
Expand Down
2 changes: 2 additions & 0 deletions dbbench.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ func init() {
"Database connection port")
flag.StringVar(&GlobalConfig.Database, "database", "",
"Database connection database")
flag.StringVar(&GlobalConfig.Params, "params", "",
"Override default connection parameters")
}

func main() {
Expand Down
15 changes: 9 additions & 6 deletions sql_database.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,28 +195,31 @@ func checkSQLQuery(q string) error {
}

func mySQLDataSourceName(cc *ConnectionConfig) string {
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?allowAllFiles=true&interpolateParams=true",
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?%s",
firstString(cc.Username, "root"),
firstString(cc.Password, ""),
firstString(cc.Host, "localhost"),
firstInt(cc.Port, 3306),
firstString(cc.Database, ""))
firstString(cc.Database, ""),
firstString(cc.Params, "allowAllFiles=true&interpolateParams=true"))
}

func postgresDataSourceName(cc *ConnectionConfig) string {
return fmt.Sprintf("postgres://%s:%s@%s:%d/%s",
return fmt.Sprintf("postgres://%s:%s@%s:%d/%s?%s",
firstString(cc.Username, "root"),
firstString(cc.Password, ""),
firstString(cc.Host, "localhost"),
firstInt(cc.Port, 5432),
firstString(cc.Database, ""))
firstString(cc.Database, ""),
firstString(cc.Params, "sslmode=disable"))
}

func sqlServerDataSourceName(cc *ConnectionConfig) string {
return fmt.Sprintf("user id=%s;password=%s;server=%s;port=%d;database=%s",
return fmt.Sprintf("user id=%s;password=%s;server=%s;port=%d;database=%s;%s",
firstString(cc.Username, "root"),
firstString(cc.Password, ""),
firstString(cc.Host, "localhost"),
firstInt(cc.Port, 1433),
firstString(cc.Database, ""))
firstString(cc.Database, ""),
firstString(cc.Params, ""))
}

0 comments on commit f0bd185

Please sign in to comment.