Skip to content

Commit

Permalink
variable: add global scope for tidb_opt_agg_push_down (#38868)
Browse files Browse the repository at this point in the history
Co-authored-by: Ti Chi Robot <ti-community-prow-bot@tidb.io>
  • Loading branch information
winoros and ti-chi-bot authored Nov 3, 2022
1 parent 5ee578c commit bc7d0aa
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion sessionctx/variable/sysvar.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ var defaultSysVars = []*SysVar{
s.AllowProjectionPushDown = TiDBOptOn(val)
return nil
}},
{Scope: ScopeSession, Name: TiDBOptAggPushDown, Value: BoolToOnOff(DefOptAggPushDown), Type: TypeBool, SetSession: func(s *SessionVars, val string) error {
{Scope: ScopeGlobal | ScopeSession, Name: TiDBOptAggPushDown, Value: BoolToOnOff(DefOptAggPushDown), Type: TypeBool, SetSession: func(s *SessionVars, val string) error {
s.AllowAggPushDown = TiDBOptOn(val)
return nil
}},
Expand Down
16 changes: 16 additions & 0 deletions sessionctx/variable/sysvar_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -950,3 +950,19 @@ func TestTiDBServerMemoryLimit2(t *testing.T) {
err = mock.SetGlobalSysVar(context.Background(), TiDBServerMemoryLimit, "a700MB")
require.Error(t, err)
}

func TestSetAggPushDownGlobally(t *testing.T) {
vars := NewSessionVars(nil)
mock := NewMockGlobalAccessor4Tests()
mock.SessionVars = vars
vars.GlobalVarsAccessor = mock

val, err := mock.GetGlobalSysVar(TiDBOptAggPushDown)
require.NoError(t, err)
require.Equal(t, "OFF", val)
err = mock.SetGlobalSysVar(context.Background(), TiDBOptAggPushDown, "ON")
require.NoError(t, err)
val, err = mock.GetGlobalSysVar(TiDBOptAggPushDown)
require.NoError(t, err)
require.Equal(t, "ON", val)
}

0 comments on commit bc7d0aa

Please sign in to comment.