diff --git a/pkg/session/session.go b/pkg/session/session.go index 797c0caebfe02..f18ce5ccfe574 100644 --- a/pkg/session/session.go +++ b/pkg/session/session.go @@ -1317,10 +1317,6 @@ func createSessionFunc(store kv.Storage) pools.Factory { if err != nil { return nil, errors.Trace(err) } - err = se.sessionVars.SetSystemVar(variable.TiDBEnableWindowFunction, variable.BoolToOnOff(variable.DefEnableWindowFunction)) - if err != nil { - return nil, errors.Trace(err) - } err = se.sessionVars.SetSystemVar(variable.TiDBConstraintCheckInPlacePessimistic, variable.On) if err != nil { return nil, errors.Trace(err) diff --git a/pkg/sessionctx/variable/session.go b/pkg/sessionctx/variable/session.go index 2435ab8e7af8f..e7bc825cb36f3 100644 --- a/pkg/sessionctx/variable/session.go +++ b/pkg/sessionctx/variable/session.go @@ -2022,6 +2022,7 @@ func NewSessionVars(hctx HookContext) *SessionVars { TiFlashComputeDispatchPolicy: tiflashcompute.DispatchPolicyConsistentHash, ResourceGroupName: resourcegroup.DefaultResourceGroupName, DefaultCollationForUTF8MB4: mysql.DefaultCollationName, + EnableWindowFunction: DefEnableWindowFunction, } vars.KVVars = tikvstore.NewVariables(&vars.Killed) vars.StmtCtx.ResourceGroupName = resourcegroup.DefaultResourceGroupName diff --git a/pkg/sessionctx/variable/sysvar_test.go b/pkg/sessionctx/variable/sysvar_test.go index baaf037dad7f5..8b00eacb89fde 100644 --- a/pkg/sessionctx/variable/sysvar_test.go +++ b/pkg/sessionctx/variable/sysvar_test.go @@ -1437,3 +1437,14 @@ func TestSetTiDBCloudStorageURI(t *testing.T) { require.Len(t, val, 0) cancel() } + +func TestEnableWindowFunction(t *testing.T) { + vars := NewSessionVars(nil) + require.Equal(t, vars.EnableWindowFunction, DefEnableWindowFunction) + require.NoError(t, vars.SetSystemVar(TiDBEnableWindowFunction, "on")) + require.Equal(t, vars.EnableWindowFunction, true) + require.NoError(t, vars.SetSystemVar(TiDBEnableWindowFunction, "0")) + require.Equal(t, vars.EnableWindowFunction, false) + require.NoError(t, vars.SetSystemVar(TiDBEnableWindowFunction, "1")) + require.Equal(t, vars.EnableWindowFunction, true) +}