Documentation ¶
Index ¶
- Constants
- func GetIntLenc(data []byte) (int, int, error)
- func GetIntN(data []byte, n int) (int, error)
- func GetLenencInt(src *parse.Source) (int, int, error)
- func GetLenencString(src *parse.Source) string
- func GetLenencStringLength(s string) int
- func GetPacketHeader(src *parse.Source) (int, int)
- func GetStringFixed(data []byte, n int) (string, error)
- func GetStringNull(src *parse.Source) string
- func IsEOFPacket(src *parse.Source) bool
- func ReadEOFPacket(src *parse.Source) bool
- func ReadNULPacket(src []byte) (bool, []byte, int)
- type CommandType
Constants ¶
const ( // NULL 结果集中如果某个字段是NULL,用0xfe表示 NULL = byte(0xfb) )
Variables ¶
This section is empty.
Functions ¶
func GetIntLenc ¶
GetIntLenc 获取Length-Encoded-Integer的值 第二个返回值表示编码int相关的所有字节的长度 doc: https://dev.mysql.com/doc/internals/en/integer.html#fixed-length-integer
func GetIntN ¶
GetIntN 获取fixedInteger int<N>的值 doc: https://dev.mysql.com/doc/internals/en/integer.html#fixed-length-integer
func GetLenencInt ¶
GetLenencInt 获取Length-Encoded-Integer的值 返回值第二个int表示编码该int总共的字节数
func GetLenencString ¶
GetLenencString 获取length-encoded-string的值 doc: https://dev.mysql.com/doc/internals/en/string.html#packet-Protocol::LengthEncodedString
func GetLenencStringLength ¶
GetLenencStringLength 根据string值判断该值编码成lenencstr要占多少字节
func GetPacketHeader ¶
GetPacketHeader 获取pakcet头,简便方法,返回值第一个是payload长度,第二个是seqID
func GetStringFixed ¶
GetStringFixed 读取固定长度的string
func ReadEOFPacket ¶
ReadEOFPacket 读取一个EOF包,如果读取成功则返回true(会消费字节)
func ReadNULPacket ¶
ReadNULPacket 读取string[NUL]及0x00的index doc: https://dev.mysql.com/doc/internals/en/string.html#packet-Protocol::NulTerminatedString
Types ¶
type CommandType ¶
type CommandType byte
const ( // COM_UNKNOWN 额外声明用来表示错误的类型 COM_UNKNOWN CommandType = 0xff COM_SLEEP CommandType = iota COM_QUIT COM_INIT_DB COM_QUERY COM_FIELD_LIST COM_CREATE_DB COM_DROP_DB COM_REFRESH COM_SHUTDOWN COM_STATISTICS COM_PROCESS_INFO COM_CONNECT COM_PROCESS_KILL COM_DEBUG COM_PING COM_TIME COM_DELAYED_INSERT COM_CHANGE_USER COM_BINLOG_DUMP COM_TABLE_DUMP COM_CONNECT_OUT COM_REGISTER_SLAVE COM_STMT_PREPARE COM_STMT_EXECUTE COM_STMT_SEND_LONG_DATA COM_STMT_CLOSE COM_STMT_RESET COM_SET_OPTION COM_STMT_FETCH COM_DAEMON COM_BINLOG_DUMP_GTID COM_RESET_CONNECTION )