diff --git a/util/memory/action.go b/util/memory/action.go index a71d74a877082..6c64a2667fdf0 100644 --- a/util/memory/action.go +++ b/util/memory/action.go @@ -100,12 +100,17 @@ func (a *PanicOnExceed) Action(t *Tracker) { func (a *PanicOnExceed) SetFallback(ActionOnExceed) {} var ( - errMemExceedThreshold = terror.ClassExecutor.New(codeMemExceedThreshold, mysql.MySQLErrName[mysql.ErrMemExceedThreshold]) + errMemExceedThreshold = terror.ClassUtil.New(mysql.ErrMemExceedThreshold, mysql.MySQLErrName[mysql.ErrMemExceedThreshold]) ) const ( - codeMemExceedThreshold terror.ErrCode = 8001 - // PanicMemoryExceed represents the panic message when out of memory quota. PanicMemoryExceed string = "Out Of Memory Quota!" ) + +func init() { + errCodes := map[terror.ErrCode]uint16{ + mysql.ErrMemExceedThreshold: mysql.ErrMemExceedThreshold, + } + terror.ErrClassToMySQLCodes[terror.ClassUtil] = errCodes +} diff --git a/util/memory/tracker_test.go b/util/memory/tracker_test.go index 62cc7271f774d..3256223029ceb 100644 --- a/util/memory/tracker_test.go +++ b/util/memory/tracker_test.go @@ -21,6 +21,7 @@ import ( "github.com/cznic/mathutil" . "github.com/pingcap/check" + "github.com/pingcap/parser/mysql" "github.com/pingcap/tidb/util/logutil" "github.com/pingcap/tidb/util/stringutil" "github.com/pingcap/tidb/util/testleak" @@ -260,3 +261,7 @@ func BenchmarkConsume(b *testing.B) { } }) } + +func (s *testSuite) TestErrorCode(c *C) { + c.Assert(int(errMemExceedThreshold.ToSQLError().Code), Equals, mysql.ErrMemExceedThreshold) +}