Skip to content

Commit c4a6e95

Browse files
committed
Bloat the API a bit less
Since MySQL warnings only appear in groups in the wild, we don't need to export the struct for a single warning. The details are still accessible: if mws, ok := err.(mysql.MySQLWarnings); ok { _ = mws[0].Code }
1 parent ae3b4e8 commit c4a6e95

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

errors.go

+5-9
Original file line numberDiff line numberDiff line change
@@ -25,30 +25,26 @@ var (
2525
)
2626

2727
// error type which represents one or more MySQL warnings
28-
type MySQLWarnings []MySQLWarning
28+
type MySQLWarnings []mysqlWarning
2929

3030
func (mws MySQLWarnings) Error() string {
3131
var msg string
3232
for i := range mws {
3333
if i > 0 {
3434
msg += "\r\n"
3535
}
36-
msg += mws[i].Error()
36+
msg += fmt.Sprintf("%s %s: %s", mws[i].Level, mws[i].Code, mws[i].Message)
3737
}
3838
return msg
3939
}
4040

4141
// error type which represents a single MySQL warning
42-
type MySQLWarning struct {
42+
type mysqlWarning struct {
4343
Level string
4444
Code string
4545
Message string
4646
}
4747

48-
func (mw MySQLWarning) Error() string {
49-
return fmt.Sprintf("%s %s: %s", mw.Level, mw.Code, mw.Message)
50-
}
51-
5248
func (mc *mysqlConn) getWarnings() (err error) {
5349
rows, err := mc.Query("SHOW WARNINGS", []driver.Value{})
5450
if err != nil {
@@ -58,15 +54,15 @@ func (mc *mysqlConn) getWarnings() (err error) {
5854
var warnings = MySQLWarnings{}
5955
var values = make([]driver.Value, 3)
6056

61-
var warning MySQLWarning
57+
var warning mysqlWarning
6258
var raw []byte
6359
var ok bool
6460

6561
for {
6662
err = rows.Next(values)
6763
switch err {
6864
case nil:
69-
warning = MySQLWarning{}
65+
warning = mysqlWarning{}
7066

7167
if raw, ok = values[0].([]byte); ok {
7268
warning.Level = string(raw)

0 commit comments

Comments
 (0)