diff --git a/session/session_test.go b/session/session_test.go index 8bcea0164eacb..d0fec6758bc53 100644 --- a/session/session_test.go +++ b/session/session_test.go @@ -424,6 +424,10 @@ func (s *testSessionSuite) TestGlobalVarAccessor(c *C) { result = tk.MustQuery("select @@autocommit;") result.Check(testkit.Rows("ON")) tk.MustExec("set @@global.autocommit=1") + + _, err = tk.Exec("set global time_zone = 'timezone'") + c.Assert(err, NotNil) + c.Assert(terror.ErrorEqual(err, variable.ErrUnknownTimeZone), IsTrue) } func (s *testSessionSuite) TestGetSysVariables(c *C) { diff --git a/sessionctx/variable/varsutil.go b/sessionctx/variable/varsutil.go index 56bc6dce9bbca..8282334e851a6 100644 --- a/sessionctx/variable/varsutil.go +++ b/sessionctx/variable/varsutil.go @@ -301,7 +301,8 @@ func ValidateSetSystemVar(vars *SessionVars, name string, value string) (string, if strings.EqualFold(value, "SYSTEM") { return "SYSTEM", nil } - return value, nil + _, err := parseTimeZone(value) + return value, err case WarningCount, ErrorCount: return value, ErrReadOnly.GenWithStackByArgs(name) case GeneralLog, TiDBGeneralLog, AvoidTemporalUpgrade, BigTables, CheckProxyUsers, CoreFile, EndMakersInJSON, SQLLogBin, OfflineMode,