Skip to content

Commit 2a5b4d6

Browse files
committed
small errors refactoring
1 parent b44cac6 commit 2a5b4d6

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

errors.go

+9-12
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"os"
1818
)
1919

20+
// Various errors the driver might return. Can change between driver versions.
2021
var (
2122
ErrInvalidConn = errors.New("Invalid Connection")
2223
ErrMalformPkt = errors.New("Malformed Packet")
@@ -27,17 +28,17 @@ var (
2728
ErrPktSyncMul = errors.New("Commands out of sync. Did you run multiple statements at once?")
2829
ErrPktTooLarge = errors.New("Packet for query is too large. You can change this value on the server by adjusting the 'max_allowed_packet' variable.")
2930
ErrBusyBuffer = errors.New("Busy buffer")
30-
31-
errLog Logger = log.New(os.Stderr, "[MySQL] ", log.Ldate|log.Ltime|log.Lshortfile)
3231
)
3332

33+
var errLog Logger = log.New(os.Stderr, "[MySQL] ", log.Ldate|log.Ltime|log.Lshortfile)
34+
3435
// Logger is used to log critical error messages.
3536
type Logger interface {
3637
Print(v ...interface{})
3738
}
3839

3940
// SetLogger is used to set the logger for critical errors.
40-
// The initial logger is stderr.
41+
// The initial logger is os.Stderr.
4142
func SetLogger(logger Logger) error {
4243
if logger == nil {
4344
return errors.New("logger is nil")
@@ -85,35 +86,31 @@ type MysqlWarning struct {
8586
}
8687

8788
func (mc *mysqlConn) getWarnings() (err error) {
88-
rows, err := mc.Query("SHOW WARNINGS", []driver.Value{})
89+
rows, err := mc.Query("SHOW WARNINGS", nil)
8990
if err != nil {
9091
return
9192
}
9293

9394
var warnings = MySQLWarnings{}
9495
var values = make([]driver.Value, 3)
9596

96-
var warning MysqlWarning
97-
var raw []byte
98-
var ok bool
99-
10097
for {
10198
err = rows.Next(values)
10299
switch err {
103100
case nil:
104-
warning = MysqlWarning{}
101+
warning := MysqlWarning{}
105102

106-
if raw, ok = values[0].([]byte); ok {
103+
if raw, ok := values[0].([]byte); ok {
107104
warning.Level = string(raw)
108105
} else {
109106
warning.Level = fmt.Sprintf("%s", values[0])
110107
}
111-
if raw, ok = values[1].([]byte); ok {
108+
if raw, ok := values[1].([]byte); ok {
112109
warning.Code = string(raw)
113110
} else {
114111
warning.Code = fmt.Sprintf("%s", values[1])
115112
}
116-
if raw, ok = values[2].([]byte); ok {
113+
if raw, ok := values[2].([]byte); ok {
117114
warning.Message = string(raw)
118115
} else {
119116
warning.Message = fmt.Sprintf("%s", values[0])

errors_test.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,22 @@ import (
1414
"testing"
1515
)
1616

17-
func TestSetLogger(t *testing.T) {
17+
func TestErrorsSetLogger(t *testing.T) {
1818
previous := errLog
1919
defer func() {
2020
errLog = previous
2121
}()
22+
23+
// set up logger
2224
const expected = "prefix: test\n"
2325
buffer := bytes.NewBuffer(make([]byte, 0, 64))
2426
logger := log.New(buffer, "prefix: ", 0)
27+
28+
// print
2529
SetLogger(logger)
2630
errLog.Print("test")
31+
32+
// check result
2733
if actual := buffer.String(); actual != expected {
2834
t.Errorf("expected %q, got %q", expected, actual)
2935
}

0 commit comments

Comments
 (0)