common

package
v1.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NULL 结果集中如果某个字段是NULL,用0xfe表示
	NULL = byte(0xfb)
)

Variables

This section is empty.

Functions

func GetIntLenc

func GetIntLenc(data []byte) (int, int, error)

GetIntLenc 获取Length-Encoded-Integer的值 第二个返回值表示编码int相关的所有字节的长度 doc: https://dev.mysql.com/doc/internals/en/integer.html#fixed-length-integer

func GetIntN

func GetIntN(data []byte, n int) (int, error)

GetIntN 获取fixedInteger int<N>的值 doc: https://dev.mysql.com/doc/internals/en/integer.html#fixed-length-integer

func GetLenencInt

func GetLenencInt(src *parse.Source) (int, int, error)

GetLenencInt 获取Length-Encoded-Integer的值 返回值第二个int表示编码该int总共的字节数

func GetLenencString

func GetLenencString(src *parse.Source) string

GetLenencString 获取length-encoded-string的值 doc: https://dev.mysql.com/doc/internals/en/string.html#packet-Protocol::LengthEncodedString

func GetLenencStringLength

func GetLenencStringLength(s string) int

GetLenencStringLength 根据string值判断该值编码成lenencstr要占多少字节

func GetPacketHeader

func GetPacketHeader(src *parse.Source) (int, int)

GetPacketHeader 获取pakcet头,简便方法,返回值第一个是payload长度,第二个是seqID

func GetStringFixed

func GetStringFixed(data []byte, n int) (string, error)

GetStringFixed 读取固定长度的string

func GetStringNull

func GetStringNull(src *parse.Source) string

GetStringNull 读取string直到遇到NULL

func IsEOFPacket

func IsEOFPacket(src *parse.Source) bool

IsEOFPacket 判断是否是EOF包,使用Peek不消费字节,可重复使用

func ReadEOFPacket

func ReadEOFPacket(src *parse.Source) bool

ReadEOFPacket 读取一个EOF包,如果读取成功则返回true(会消费字节)

func ReadNULPacket

func ReadNULPacket(src []byte) (bool, []byte, int)

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
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL