Skip to content

Instantly share code, notes, and snippets.

@methane
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save methane/6c6e2db8464c0579a7af to your computer and use it in GitHub Desktop.
Save methane/6c6e2db8464c0579a7af to your computer and use it in GitHub Desktop.
diff --git a/packets.go b/packets.go
index f39d65c..290a388 100644
--- a/packets.go
+++ b/packets.go
@@ -603,8 +603,13 @@ func (rows *textRows) readRow(dest []driver.Value) error {
// EOF Packet
if data[0] == iEOF && len(data) == 5 {
+ rows.mc = nil
return io.EOF
}
+ if data[0] == iERR {
+ rows.mc = nil
+ return mc.handleErrorPacket(data)
+ }
// RowSet Packet
var n int
@@ -968,6 +973,7 @@ func (rows *binaryRows) readRow(dest []driver.Value) error {
// packet indicator [1 byte]
if data[0] != iOK {
+ rows.mc = nil
// EOF Packet
if data[0] == iEOF && len(data) == 5 {
return io.EOF
diff --git a/rows.go b/rows.go
index bb161c8..9d97d6d 100644
--- a/rows.go
+++ b/rows.go
@@ -72,10 +72,7 @@ func (rows *binaryRows) Next(dest []driver.Value) error {
}
// Fetch next row from stream
- if err := rows.readRow(dest); err != io.EOF {
- return err
- }
- rows.mc = nil
+ return rows.readRow(dest)
}
return io.EOF
}
@@ -87,10 +84,7 @@ func (rows *textRows) Next(dest []driver.Value) error {
}
// Fetch next row from stream
- if err := rows.readRow(dest); err != io.EOF {
- return err
- }
- rows.mc = nil
+ return rows.readRow(dest)
}
return io.EOF
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment