Improved mysql plugin
shows global variables shows slave statuses shows size and count of binary log files shows information_schema.processlist stats shows perf table stats shows auto increments stats from information schema shows perf index stats shows table lock waits summary by table shows time and operations of event waits shows file event statuses shows events statements stats from perf_schema shows schema statistics refactored plugin, provided multiple fields per insert
This commit is contained in:
parent
61d681a7c8
commit
c732abbda2
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,7 @@
|
|||
package mysql
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
|
@ -115,3 +116,47 @@ func TestMysqlDNSAddTimeout(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseValue(t *testing.T) {
|
||||
testCases := []struct {
|
||||
rawByte sql.RawBytes
|
||||
value float64
|
||||
boolValue bool
|
||||
}{
|
||||
{sql.RawBytes("Yes"), 1, true},
|
||||
{sql.RawBytes("No"), 0, false},
|
||||
{sql.RawBytes("ON"), 1, true},
|
||||
{sql.RawBytes("OFF"), 0, false},
|
||||
{sql.RawBytes("ABC"), 0, false},
|
||||
}
|
||||
for _, cases := range testCases {
|
||||
if value, ok := parseValue(cases.rawByte); value != cases.value && ok != cases.boolValue {
|
||||
t.Errorf("want %d with %t, got %d with %t", int(cases.value), cases.boolValue, int(value), ok)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewNamespace(t *testing.T) {
|
||||
testCases := []struct {
|
||||
words []string
|
||||
namespace string
|
||||
}{
|
||||
{
|
||||
[]string{"thread", "info_scheme", "query update"},
|
||||
"thread_info_scheme_query_update",
|
||||
},
|
||||
{
|
||||
[]string{"thread", "info_scheme", "query_update"},
|
||||
"thread_info_scheme_query_update",
|
||||
},
|
||||
{
|
||||
[]string{"thread", "info", "scheme", "query", "update"},
|
||||
"thread_info_scheme_query_update",
|
||||
},
|
||||
}
|
||||
for _, cases := range testCases {
|
||||
if got := newNamespace(cases.words...); got != cases.namespace {
|
||||
t.Errorf("want %s, got %s", cases.namespace, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue