From 200686bd5746eecb8b7364df4fa9ff07d6742e42 Mon Sep 17 00:00:00 2001 From: xia Date: Wed, 18 Nov 2015 13:33:38 +0800 Subject: [PATCH] *: rename mockStatist to mockStatistics, and do tiny clean --- ddl/stat.go | 10 ++------- domain/domain.go | 10 ++------- plan/plans/show.go | 31 ++++++--------------------- plan/plans/show_test.go | 10 ++++----- session.go | 5 ----- sessionctx/variable/statusvar.go | 2 +- sessionctx/variable/statusvar_test.go | 12 +++++------ sessionctx/variable/sysvar.go | 4 ---- util/mock/context.go | 20 ----------------- 9 files changed, 23 insertions(+), 81 deletions(-) diff --git a/ddl/stat.go b/ddl/stat.go index e198980ae1..ea728c23e4 100644 --- a/ddl/stat.go +++ b/ddl/stat.go @@ -39,16 +39,10 @@ var ( ddlJobArgs = "ddl_job_args" ) -var specificStatusScopes = map[string]variable.ScopeFlag{} - // GetScope gets the status variables scope. func (d *ddl) GetScope(status string) variable.ScopeFlag { - scope, ok := specificStatusScopes[status] - if !ok { - scope = variable.DefaultScopeFlag - } - - return scope + // Now ddl status variables scope are all default scope. + return variable.DefaultScopeFlag } // Stat returns the DDL statistics. diff --git a/domain/domain.go b/domain/domain.go index a991d618d8..3a9404fe20 100644 --- a/domain/domain.go +++ b/domain/domain.go @@ -31,8 +31,6 @@ import ( var ddlLastReloadSchemaTS = "ddl_last_reload_schema_ts" -var specificStatusScopes = map[string]variable.ScopeFlag{} - // Domain represents a storage space. Different domains can use the same database name. // Multiple domains can be used in parallel without synchronization. type Domain struct { @@ -123,12 +121,8 @@ func (do *Domain) Stats() (map[string]interface{}, error) { // GetScope gets the status variables scope. func (do *Domain) GetScope(status string) variable.ScopeFlag { - scope, ok := specificStatusScopes[status] - if !ok { - scope = variable.DefaultScopeFlag - } - - return scope + // Now domain status variables scope are all default scope. + return variable.DefaultScopeFlag } func (do *Domain) tryReload() { diff --git a/plan/plans/show.go b/plan/plans/show.go index 309f1307eb..71afa54b0a 100644 --- a/plan/plans/show.go +++ b/plan/plans/show.go @@ -32,9 +32,9 @@ import ( "github.com/pingcap/tidb/sessionctx/variable" "github.com/pingcap/tidb/stmt" "github.com/pingcap/tidb/table" - "github.com/pingcap/tidb/terror" "github.com/pingcap/tidb/util/charset" "github.com/pingcap/tidb/util/format" + "github.com/pingcap/tidb/util/types" ) var ( @@ -469,39 +469,22 @@ func (s *ShowPlan) fetchShowVariables(ctx context.Context) error { } func getSessionStatusVar(ctx context.Context, sessionVars *variable.SessionVars, - globalVars variable.GlobalVarAccessor, name string) (string, error) { + name string, globalVal *variable.StatusVal) (string, error) { sv, ok := sessionVars.StatusVars[name] if ok { return sv, nil } - value, err := globalVars.GetGlobalStatusVar(ctx, name) - if err != nil && terror.UnknownStatusVar.Equal(err) { + gv, err := types.ToString(globalVal.Value) + if err != nil { return "", errors.Trace(err) } - return value, nil -} - -func getGlobalStatusVar(ctx context.Context, sessionVars *variable.SessionVars, - globalVars variable.GlobalVarAccessor, name string) (string, error) { - value, err := globalVars.GetGlobalStatusVar(ctx, name) - if err == nil { - return value, nil - } - - if terror.UnknownStatusVar.Equal(err) { - return "", errors.Trace(err) - } - - sv, _ := sessionVars.StatusVars[name] - - return sv, nil + return gv, nil } func (s *ShowPlan) fetchShowStatus(ctx context.Context) error { sessionVars := variable.GetSessionVars(ctx) - globalVars := variable.GetGlobalVarAccessor(ctx) m := map[interface{}]interface{}{} statusVars, err := variable.GetStatusVars() @@ -532,12 +515,12 @@ func (s *ShowPlan) fetchShowStatus(ctx context.Context) error { var value string if !s.GlobalScope { - value, err = getSessionStatusVar(ctx, sessionVars, globalVars, status) + value, err = getSessionStatusVar(ctx, sessionVars, status, v) if err != nil { return errors.Trace(err) } } else if v.Scope != variable.ScopeSession { - value, err = getGlobalStatusVar(ctx, sessionVars, globalVars, status) + value, err = types.ToString(v.Value) if err != nil { return errors.Trace(err) } diff --git a/plan/plans/show_test.go b/plan/plans/show_test.go index ad9c46543a..1330a7a3d0 100644 --- a/plan/plans/show_test.go +++ b/plan/plans/show_test.go @@ -35,7 +35,7 @@ import ( type testShowSuit struct { txn kv.Transaction ctx context.Context - ms *MockStatist + ms *MockStatistics store kv.Storage dbName string @@ -184,8 +184,8 @@ func (p *testShowSuit) TestShowSysVariables(c *C) { c.Assert(v, Equals, "on") } -// MockStatist represents mocked statist. -type MockStatist struct{} +// MockStatistics represents mocked statistics. +type MockStatistics struct{} const ( testStatusSessionScope = "test_status_session_scope" @@ -199,11 +199,11 @@ var statusScopes map[string]variable.ScopeFlag = map[string]variable.ScopeFlag{ testStatusBothScopes: variable.ScopeGlobal, } -func (ms *MockStatist) GetScope(status string) variable.ScopeFlag { +func (ms *MockStatistics) GetScope(status string) variable.ScopeFlag { return statusScopes[status] } -func (ms *MockStatist) Stats() (map[string]interface{}, error) { +func (ms *MockStatistics) Stats() (map[string]interface{}, error) { m := make(map[string]interface{}, len(statusScopes)) m[testStatusSessionScope] = testStatusValSessionScope m[testStatusBothScopes] = testStatusValBothScope diff --git a/session.go b/session.go index 892a7e0d26..e42354ce1c 100644 --- a/session.go +++ b/session.go @@ -319,11 +319,6 @@ func (s *session) getExecRet(ctx context.Context, sql string) (string, error) { // GetGlobalStatusVar implements GlobalVarAccessor.GetGlobalStatusVar interface. func (s *session) GetGlobalStatusVar(ctx context.Context, name string) (string, error) { - sv := variable.GetStatusVar(name) - if sv != nil { - return types.ToString(sv.Value) - } - sql := fmt.Sprintf(`SELECT VARIABLE_VALUE FROM %s.%s WHERE VARIABLE_NAME="%s";`, mysql.SystemDB, mysql.GlobalStatusTable, name) val, err := s.getExecRet(ctx, sql) diff --git a/sessionctx/variable/statusvar.go b/sessionctx/variable/statusvar.go index 34abe29e05..d34cbfc4de 100644 --- a/sessionctx/variable/statusvar.go +++ b/sessionctx/variable/statusvar.go @@ -82,7 +82,7 @@ func GetStatusVar(name string) *StatusVal { } // GetDefaultStatusVars gets status variables from the global status variables table. -// TODO: Fill status variables. +// TODO: Fill default status variables. func GetDefaultStatusVars() (map[string]*StatusVal, error) { return nil, nil } diff --git a/sessionctx/variable/statusvar_test.go b/sessionctx/variable/statusvar_test.go index fb5046d25c..9854b166b6 100644 --- a/sessionctx/variable/statusvar_test.go +++ b/sessionctx/variable/statusvar_test.go @@ -20,16 +20,16 @@ import ( var _ = Suite(&testStatusVarSuite{}) type testStatusVarSuite struct { - ms *mockStatist + ms *mockStatistics } func (s *testStatusVarSuite) SetUpSuite(c *C) { - s.ms = &mockStatist{} + s.ms = &mockStatistics{} RegisterStatistics(s.ms) } -// mockStatist represents mocked statist. -type mockStatist struct{} +// mockStatistics represents mocked statistics. +type mockStatistics struct{} const ( testStatus = "test_status" @@ -41,7 +41,7 @@ var specificStatusScopes = map[string]ScopeFlag{ testSessionStatus: ScopeSession, } -func (ms *mockStatist) GetScope(status string) ScopeFlag { +func (ms *mockStatistics) GetScope(status string) ScopeFlag { scope, ok := specificStatusScopes[status] if !ok { return DefaultScopeFlag @@ -50,7 +50,7 @@ func (ms *mockStatist) GetScope(status string) ScopeFlag { return scope } -func (ms *mockStatist) Stats() (map[string]interface{}, error) { +func (ms *mockStatistics) Stats() (map[string]interface{}, error) { m := make(map[string]interface{}, len(specificStatusScopes)) m[testStatus] = testStatusVal diff --git a/sessionctx/variable/sysvar.go b/sessionctx/variable/sysvar.go index 9d01b085c6..8acd30925b 100644 --- a/sessionctx/variable/sysvar.go +++ b/sessionctx/variable/sysvar.go @@ -580,10 +580,6 @@ type GlobalVarAccessor interface { GetGlobalSysVar(ctx context.Context, name string) (string, error) // SetGlobalSysVar sets the global system variable name to value. SetGlobalSysVar(ctx context.Context, name string, value string) error - // GetGlobalStatusVar gets the global status variable value for name. - GetGlobalStatusVar(ctx context.Context, name string) (string, error) - // SetGlobalStatusVar sets the global status variable name to value. - SetGlobalStatusVar(ctx context.Context, name, value string) error } // globalSysVarAccessorKeyType is a dummy type to avoid naming collision in context. diff --git a/util/mock/context.go b/util/mock/context.go index 831f2cfbf0..e26c777040 100644 --- a/util/mock/context.go +++ b/util/mock/context.go @@ -21,7 +21,6 @@ import ( "github.com/pingcap/tidb/kv" "github.com/pingcap/tidb/sessionctx/variable" "github.com/pingcap/tidb/terror" - "github.com/pingcap/tidb/util/types" ) var _ context.Context = (*Context)(nil) @@ -58,25 +57,6 @@ func (c *Context) FinishTxn(rollback bool) error { return nil } -// GetGlobalStatusVar implements GlobalVarAccessor GetGlobalStatusVar interface. -func (c *Context) GetGlobalStatusVar(ctx context.Context, name string) (string, error) { - v := variable.GetStatusVar(name) - if v == nil { - return "", terror.UnknownStatusVar.Gen("unknown status variable: %s", name) - } - return types.ToString(v.Value) -} - -// SetGlobalStatusVar implements GlobalVarAccessor SetGlobalStatusVar interface. -func (c *Context) SetGlobalStatusVar(ctx context.Context, name, value string) error { - v := variable.GetStatusVar(name) - if v == nil { - return terror.UnknownStatusVar.Gen("unknown status variable: %s", name) - } - v = &variable.StatusVal{Scope: variable.DefaultScopeFlag, Value: value} - return nil -} - // GetGlobalSysVar implements GlobalVarAccessor GetGlobalSysVar interface. func (c *Context) GetGlobalSysVar(ctx context.Context, name string) (string, error) { v := variable.GetSysVar(name)