Skip to content

Commit 63dc97f

Browse files
committed
remove eof field from mysqlRows
1 parent 2a93d21 commit 63dc97f

File tree

3 files changed

+19
-26
lines changed

3 files changed

+19
-26
lines changed

connection.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, erro
211211
var resLen int
212212
resLen, err = mc.readResultSetHeaderPacket()
213213
if err == nil {
214-
rows := &mysqlRows{mc, nil, false, false}
214+
rows := &mysqlRows{mc, nil, false}
215215

216216
if resLen > 0 {
217217
// Columns
@@ -238,7 +238,7 @@ func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) {
238238
// Read Result
239239
resLen, err := mc.readResultSetHeaderPacket()
240240
if err == nil {
241-
rows := &mysqlRows{mc, nil, false, false}
241+
rows := &mysqlRows{mc, nil, false}
242242

243243
if resLen > 0 {
244244
// Columns

rows.go

+16-23
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ type mysqlRows struct {
2323
mc *mysqlConn
2424
columns []mysqlField
2525
binary bool
26-
eof bool
2726
}
2827

2928
func (rows *mysqlRows) Columns() []string {
@@ -34,43 +33,37 @@ func (rows *mysqlRows) Columns() []string {
3433
return columns
3534
}
3635

37-
func (rows *mysqlRows) Close() (err error) {
38-
// Remove unread packets from stream
39-
if !rows.eof {
40-
if rows.mc == nil || rows.mc.netConn == nil {
41-
return errInvalidConn
42-
}
43-
44-
err = rows.mc.readUntilEOF()
45-
46-
// explicitly set because readUntilEOF might return early in case of an
47-
// error
48-
rows.eof = true
36+
func (rows *mysqlRows) Close() error {
37+
mc := rows.mc
38+
if mc == nil {
39+
return nil
4940
}
50-
41+
if mc.netConn == nil {
42+
return errInvalidConn
43+
}
44+
// Remove unread packets from stream
45+
err := mc.readUntilEOF()
5146
rows.mc = nil
52-
53-
return
47+
return err
5448
}
5549

56-
func (rows *mysqlRows) Next(dest []driver.Value) (err error) {
57-
if rows.eof {
50+
func (rows *mysqlRows) Next(dest []driver.Value) error {
51+
mc := rows.mc
52+
if mc == nil {
5853
return io.EOF
5954
}
60-
61-
if rows.mc == nil || rows.mc.netConn == nil {
55+
if mc.netConn == nil {
6256
return errInvalidConn
6357
}
64-
58+
var err error
6559
// Fetch next row from stream
6660
if rows.binary {
6761
err = rows.readBinaryRow(dest)
6862
} else {
6963
err = rows.readRow(dest)
7064
}
71-
7265
if err == io.EOF {
73-
rows.eof = true
66+
rows.mc = nil
7467
}
7568
return err
7669
}

statement.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) {
9090
return nil, err
9191
}
9292

93-
rows := &mysqlRows{mc, nil, true, false}
93+
rows := &mysqlRows{mc, nil, true}
9494

9595
if resLen > 0 {
9696
// Columns

0 commit comments

Comments
 (0)