Documentation ¶
Index ¶
- func CalcPassword(scramble, sha1pwd []byte) []byte
- func DecodePassword(pwd string) ([]byte, error)
- func DelKeyWithPrefix(rm kv.RetrieverMutator, prefix kv.Key) error
- func EncodePassword(pwd string) string
- func RowKeyPrefixFilter(rowKeyPrefix kv.Key) kv.FnKeyCmp
- func RunWithRetry(retryCnt int, backoff uint64, f func() (bool, error)) (err error)
- func ScanMetaWithPrefix(retriever kv.Retriever, prefix kv.Key, filter func(kv.Key, []byte) bool) error
- func Sha1Hash(bs []byte) []byte
- type ProcessInfo
- type SessionManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalcPassword ¶
CalcPassword is the algorithm convert hashed password to auth string. See https://dev.mysql.com/doc/internals/en/secure-password-authentication.html SHA1( password ) XOR SHA1( "20-bytes random data from server" <concat> SHA1( SHA1( password ) ) )
func DecodePassword ¶
DecodePassword converts hex string password to byte array.
func DelKeyWithPrefix ¶
func DelKeyWithPrefix(rm kv.RetrieverMutator, prefix kv.Key) error
DelKeyWithPrefix deletes keys with prefix.
func EncodePassword ¶
EncodePassword converts plaintext password to hashed hex string.
func RowKeyPrefixFilter ¶
RowKeyPrefixFilter returns a function which checks whether currentKey has decoded rowKeyPrefix as prefix.
func RunWithRetry ¶
RunWithRetry will run the f with backoff and retry. retryCnt: Max retry count backoff: When run f failed, it will sleep backoff * triedCount time.Millisecond. Function f should have two return value. The first one is an bool which indicate if the err if retryable. The second is if the f meet any error.
Types ¶
type ProcessInfo ¶
type ProcessInfo struct { ID uint64 User string Host string DB string Command string Time time.Time State uint16 Info string }
ProcessInfo is a struct used for show processlist statement.
type SessionManager ¶
type SessionManager interface { ShowProcessList() []ProcessInfo Kill(connectionID uint64, query bool) }
SessionManager is an interface for session manage. Show processlist and kill statement rely on this interface.