MCPcopy
hub / github.com/go-sql-driver/mysql / handleOkPacket

Method handleOkPacket

packets.go:670–700  ·  view source on GitHub ↗

Ok Packet https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_ok_packet.html

(data []byte)

Source from the content-addressed store, hash-verified

668// Ok Packet
669// https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_ok_packet.html
670func (mc *okHandler) handleOkPacket(data []byte) error {
671 var n, m int
672 var affectedRows, insertId uint64
673
674 // 0x00 [1 byte]
675
676 // Affected rows [Length Coded Binary]
677 affectedRows, _, n = readLengthEncodedInteger(data[1:])
678
679 // Insert id [Length Coded Binary]
680 insertId, _, m = readLengthEncodedInteger(data[1+n:])
681
682 // Update for the current statement result (only used by
683 // readResultSetHeaderPacket).
684 if len(mc.result.affectedRows) > 0 {
685 mc.result.affectedRows[len(mc.result.affectedRows)-1] = int64(affectedRows)
686 }
687 if len(mc.result.insertIds) > 0 {
688 mc.result.insertIds[len(mc.result.insertIds)-1] = int64(insertId)
689 }
690
691 // server_status [2 bytes]
692 mc.status = readStatus(data[1+n+m : 1+n+m+2])
693 if mc.status&statusMoreResultsExists != 0 {
694 return nil
695 }
696
697 // warning count [2 bytes]
698
699 return nil
700}
701
702// Read Packets as Field Packets until EOF-Packet or an Error appears
703// https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_com_query_response_text_resultset_column_definition.html#sect_protocol_com_query_response_text_resultset_column_definition_41

Callers 3

readResultOKMethod · 0.95
readAuthResultMethod · 0.80

Calls 2

readLengthEncodedIntegerFunction · 0.85
readStatusFunction · 0.85

Tested by

no test coverage detected