Skip to content

Commit 19dc2f7

Browse files
committed
shorter names
1 parent 9db718f commit 19dc2f7

File tree

4 files changed

+24
-18
lines changed

4 files changed

+24
-18
lines changed

connection.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ func (mc *mysqlConn) exec(query string) error {
391391
}
392392

393393
// rows
394-
if err := mc.skipResultSetRows(); err != nil {
394+
if err := mc.skipRows(); err != nil {
395395
return err
396396
}
397397
}
@@ -477,7 +477,7 @@ func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) {
477477

478478
dest := make([]driver.Value, resLen)
479479
if err = rows.readRow(dest); err == nil {
480-
return dest[0].([]byte), mc.skipResultSetRows()
480+
return dest[0].([]byte), mc.skipRows()
481481
}
482482
}
483483
return nil, err

packets.go

+19-13
Original file line numberDiff line numberDiff line change
@@ -809,14 +809,18 @@ func (rows *textRows) readRow(dest []driver.Value) error {
809809
}
810810

811811
// EOF Packet
812-
if data[0] == iEOF && len(data) < 0xffffff {
812+
// text row packets may starts with LengthEncodedString.
813+
// In such case, 0xFE can mean string larger than 0xffffff.
814+
// https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_dt_integers.html#sect_protocol_basic_dt_int_le
815+
if data[0] == iEOF && len(data) <= 0xffffff {
813816
if mc.capabilities&clientDeprecateEOF == 0 {
814-
// EOF packet
817+
// Deprecated EOF packet
818+
// https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_eof_packet.html
815819
mc.status = readStatus(data[3:])
816820
} else {
817821
// Ok Packet with an 0xFE header
818-
_, _, n := readLengthEncodedInteger(data[1:])
819-
_, _, m := readLengthEncodedInteger(data[1+n:])
822+
_, _, n := readLengthEncodedInteger(data[1:]) // affected_rows
823+
_, _, m := readLengthEncodedInteger(data[1+n:]) // last_insert_id
820824
mc.status = readStatus(data[1+n+m:])
821825
}
822826
rows.rs.done = true
@@ -892,8 +896,8 @@ func (rows *textRows) readRow(dest []driver.Value) error {
892896
return nil
893897
}
894898

895-
func (mc *mysqlConn) skipPackets(number int) error {
896-
for i := 0; i < number; i++ {
899+
func (mc *mysqlConn) skipPackets(n int) error {
900+
for i := 0; i < n; i++ {
897901
if _, err := mc.readPacket(); err != nil {
898902
return err
899903
}
@@ -910,15 +914,15 @@ func (mc *mysqlConn) skipEof() error {
910914
return nil
911915
}
912916

913-
func (mc *mysqlConn) skipColumns(resLen int) error {
914-
if err := mc.skipPackets(resLen); err != nil {
917+
func (mc *mysqlConn) skipColumns(n int) error {
918+
if err := mc.skipPackets(n); err != nil {
915919
return err
916920
}
917921
return mc.skipEof()
918922
}
919923

920924
// Reads Packets until EOF-Packet or an Error appears.
921-
func (mc *mysqlConn) skipResultSetRows() error {
925+
func (mc *mysqlConn) skipRows() error {
922926
for {
923927
data, err := mc.readPacket()
924928
if err != nil {
@@ -929,14 +933,16 @@ func (mc *mysqlConn) skipResultSetRows() error {
929933
case iERR:
930934
return mc.handleErrorPacket(data)
931935
case iEOF:
932-
if len(data) < 0xffffff {
936+
// text row packets may starts with LengthEncodedString.
937+
// In such case, 0xFE can mean string larger than 0xffffff.
938+
if len(data) <= 0xffffff {
933939
if mc.capabilities&clientDeprecateEOF == 0 {
934940
// EOF packet
935941
mc.status = readStatus(data[3:])
936942
} else {
937943
// OK packet with an 0xFE header
938-
_, _, n := readLengthEncodedInteger(data[1:])
939-
_, _, m := readLengthEncodedInteger(data[1+n:])
944+
_, _, n := readLengthEncodedInteger(data[1:]) // affected_rows
945+
_, _, m := readLengthEncodedInteger(data[1+n:]) // last_insert_id
940946
mc.status = readStatus(data[1+n+m:])
941947
}
942948
return nil
@@ -1238,7 +1244,7 @@ func (mc *okHandler) discardResults() error {
12381244
return err
12391245
}
12401246
// rows
1241-
if err := mc.conn().skipResultSetRows(); err != nil {
1247+
if err := mc.conn().skipRows(); err != nil {
12421248
return err
12431249
}
12441250
}

rows.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func (rows *mysqlRows) Close() (err error) {
113113

114114
// Remove unread packets from stream
115115
if !rows.rs.done {
116-
err = mc.skipResultSetRows()
116+
err = mc.skipRows()
117117
}
118118
if err == nil {
119119
handleOk := mc.clearResult()
@@ -143,7 +143,7 @@ func (rows *mysqlRows) nextResultSet() (int, error) {
143143

144144
// Remove unread packets from stream
145145
if !rows.rs.done {
146-
if err := rows.mc.skipResultSetRows(); err != nil {
146+
if err := rows.mc.skipRows(); err != nil {
147147
return 0, err
148148
}
149149
rows.rs.done = true

statement.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) {
7777
}
7878

7979
// Rows
80-
if err = mc.skipResultSetRows(); err != nil {
80+
if err = mc.skipRows(); err != nil {
8181
return nil, err
8282
}
8383
}

0 commit comments

Comments
 (0)