update go-sql-driver/mysql vendor files

This commit is contained in:
Tony Li
2017-05-02 15:58:54 -04:00
parent 1eabe6d81d
commit 74b1c6ba20
18 changed files with 2404 additions and 873 deletions

View File

@@ -14,9 +14,11 @@ import (
)
type mysqlField struct {
fieldType byte
flags fieldFlag
tableName string
name string
flags fieldFlag
fieldType byte
decimals byte
}
type mysqlRows struct {
@@ -32,10 +34,22 @@ type textRows struct {
mysqlRows
}
type emptyRows struct{}
func (rows *mysqlRows) Columns() []string {
columns := make([]string, len(rows.columns))
for i := range columns {
columns[i] = rows.columns[i].name
if rows.mc != nil && rows.mc.cfg.ColumnsWithAlias {
for i := range columns {
if tableName := rows.columns[i].tableName; len(tableName) > 0 {
columns[i] = tableName + "." + rows.columns[i].name
} else {
columns[i] = rows.columns[i].name
}
}
} else {
for i := range columns {
columns[i] = rows.columns[i].name
}
}
return columns
}
@@ -46,11 +60,17 @@ func (rows *mysqlRows) Close() error {
return nil
}
if mc.netConn == nil {
return errInvalidConn
return ErrInvalidConn
}
// Remove unread packets from stream
err := mc.readUntilEOF()
if err == nil {
if err = mc.discardResults(); err != nil {
return err
}
}
rows.mc = nil
return err
}
@@ -58,14 +78,11 @@ func (rows *mysqlRows) Close() error {
func (rows *binaryRows) Next(dest []driver.Value) error {
if mc := rows.mc; mc != nil {
if mc.netConn == nil {
return errInvalidConn
return ErrInvalidConn
}
// 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
}
@@ -73,14 +90,23 @@ func (rows *binaryRows) Next(dest []driver.Value) error {
func (rows *textRows) Next(dest []driver.Value) error {
if mc := rows.mc; mc != nil {
if mc.netConn == nil {
return errInvalidConn
return ErrInvalidConn
}
// 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
}
func (rows emptyRows) Columns() []string {
return nil
}
func (rows emptyRows) Close() error {
return nil
}
func (rows emptyRows) Next(dest []driver.Value) error {
return io.EOF
}