34
34
// If a new Config is created instead of being parsed from a DSN string,
35
35
// the NewConfig function should be used, which sets default values.
36
36
type Config struct {
37
+ // non boolean fields
38
+
37
39
User string // Username
38
40
Passwd string // Password (requires User)
39
41
Net string // Network (e.g. "tcp", "tcp6", "unix". default: "tcp")
@@ -45,15 +47,15 @@ type Config struct {
45
47
Loc * time.Location // Location for time.Time values
46
48
MaxAllowedPacket int // Max packet size allowed
47
49
ServerPubKey string // Server public key name
48
- pubKey * rsa.PublicKey // Server public key
49
50
TLSConfig string // TLS configuration name
50
51
TLS * tls.Config // TLS configuration, its priority is higher than TLSConfig
51
- TimeTruncate time.Duration // Truncate time.Time values to the specified duration
52
52
Timeout time.Duration // Dial timeout
53
53
ReadTimeout time.Duration // I/O read timeout
54
54
WriteTimeout time.Duration // I/O write timeout
55
55
Logger Logger // Logger
56
56
57
+ // boolean fields
58
+
57
59
AllowAllFiles bool // Allow all files to be used with LOAD DATA LOCAL INFILE
58
60
AllowCleartextPasswords bool // Allows the cleartext client side plugin
59
61
AllowFallbackToPlaintext bool // Allows fallback to unencrypted connection if server does not support TLS
@@ -66,6 +68,11 @@ type Config struct {
66
68
MultiStatements bool // Allow multiple statements in one query
67
69
ParseTime bool // Parse time values to time.Time
68
70
RejectReadOnly bool // Reject read-only connections
71
+
72
+ // private fields. new options should be come here
73
+
74
+ pubKey * rsa.PublicKey // Server public key
75
+ timeTruncate time.Duration // Truncate time.Time values to the specified duration
69
76
}
70
77
71
78
// NewConfig creates a new Config and sets default values.
@@ -263,8 +270,8 @@ func (cfg *Config) FormatDSN() string {
263
270
writeDSNParam (& buf , & hasParam , "parseTime" , "true" )
264
271
}
265
272
266
- if cfg .TimeTruncate > 0 {
267
- writeDSNParam (& buf , & hasParam , "timeTruncate" , cfg .TimeTruncate .String ())
273
+ if cfg .timeTruncate > 0 {
274
+ writeDSNParam (& buf , & hasParam , "timeTruncate" , cfg .timeTruncate .String ())
268
275
}
269
276
270
277
if cfg .ReadTimeout > 0 {
@@ -509,7 +516,7 @@ func parseDSNParams(cfg *Config, params string) (err error) {
509
516
510
517
// time.Time truncation
511
518
case "timeTruncate" :
512
- cfg .TimeTruncate , err = time .ParseDuration (value )
519
+ cfg .timeTruncate , err = time .ParseDuration (value )
513
520
if err != nil {
514
521
return
515
522
}
0 commit comments