From bfac67ebd226018b53f1ec58230de1389d949f53 Mon Sep 17 00:00:00 2001 From: imtbkcat Date: Thu, 20 Feb 2020 12:22:42 +0800 Subject: [PATCH 1/2] fix compatibility --- privilege/privileges/cache.go | 2 +- privilege/privileges/cache_test.go | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/privilege/privileges/cache.go b/privilege/privileges/cache.go index d40bccc664036..7a29ab21bb110 100644 --- a/privilege/privileges/cache.go +++ b/privilege/privileges/cache.go @@ -45,7 +45,7 @@ var ( columnPrivMask = computePrivMask(mysql.AllColumnPrivs) ) -const globalDBVisible = mysql.CreatePriv | mysql.SelectPriv | mysql.InsertPriv | mysql.UpdatePriv | mysql.DeletePriv | mysql.ShowDBPriv | mysql.DropPriv | mysql.AlterPriv | mysql.IndexPriv | mysql.CreateViewPriv | mysql.ShowViewPriv | mysql.GrantPriv +const globalDBVisible = mysql.CreatePriv | mysql.SelectPriv | mysql.InsertPriv | mysql.UpdatePriv | mysql.DeletePriv | mysql.ShowDBPriv | mysql.DropPriv | mysql.AlterPriv | mysql.IndexPriv | mysql.CreateViewPriv | mysql.ShowViewPriv | mysql.GrantPriv | mysql.TriggerPriv | mysql.ReferencesPriv | mysql.ExecutePriv func computePrivMask(privs []mysql.PrivilegeType) mysql.PrivilegeType { var mask mysql.PrivilegeType diff --git a/privilege/privileges/cache_test.go b/privilege/privileges/cache_test.go index 21cfbc94be54e..7c5a992060c8c 100644 --- a/privilege/privileges/cache_test.go +++ b/privilege/privileges/cache_test.go @@ -493,4 +493,25 @@ func (s *testCacheSuite) TestDBIsVisible(c *C) { isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") c.Assert(isVisible, IsTrue) mustExec(c, se, "TRUNCATE TABLE mysql.user") + + mustExec(c, se, `INSERT INTO mysql.user (Host, User, Trigger_priv) VALUES ("%", "testvisdb6", "Y")`) + err = p.LoadUserTable(se) + c.Assert(err, IsNil) + isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + c.Assert(isVisible, IsTrue) + mustExec(c, se, "TRUNCATE TABLE mysql.user") + + mustExec(c, se, `INSERT INTO mysql.user (Host, User, References_priv) VALUES ("%", "testvisdb6", "Y")`) + err = p.LoadUserTable(se) + c.Assert(err, IsNil) + isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + c.Assert(isVisible, IsTrue) + mustExec(c, se, "TRUNCATE TABLE mysql.user") + + mustExec(c, se, `INSERT INTO mysql.user (Host, User, Execute_priv) VALUES ("%", "testvisdb6", "Y")`) + err = p.LoadUserTable(se) + c.Assert(err, IsNil) + isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + c.Assert(isVisible, IsTrue) + mustExec(c, se, "TRUNCATE TABLE mysql.user") } From 0153d64d0d3ac153a67616f9b1ffaf4b89a26610 Mon Sep 17 00:00:00 2001 From: imtbkcat Date: Thu, 20 Feb 2020 15:27:32 +0800 Subject: [PATCH 2/2] fix test --- privilege/privileges/cache_test.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/privilege/privileges/cache_test.go b/privilege/privileges/cache_test.go index 7c5a992060c8c..3bf5eac2e861c 100644 --- a/privilege/privileges/cache_test.go +++ b/privilege/privileges/cache_test.go @@ -494,24 +494,24 @@ func (s *testCacheSuite) TestDBIsVisible(c *C) { c.Assert(isVisible, IsTrue) mustExec(c, se, "TRUNCATE TABLE mysql.user") - mustExec(c, se, `INSERT INTO mysql.user (Host, User, Trigger_priv) VALUES ("%", "testvisdb6", "Y")`) + mustExec(c, se, `INSERT INTO mysql.user (Host, User, Trigger_priv) VALUES ("%", "testvisdb7", "Y")`) err = p.LoadUserTable(se) c.Assert(err, IsNil) - isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + isVisible = p.DBIsVisible("testvisdb7", "%", "visdb") c.Assert(isVisible, IsTrue) mustExec(c, se, "TRUNCATE TABLE mysql.user") - mustExec(c, se, `INSERT INTO mysql.user (Host, User, References_priv) VALUES ("%", "testvisdb6", "Y")`) + mustExec(c, se, `INSERT INTO mysql.user (Host, User, References_priv) VALUES ("%", "testvisdb8", "Y")`) err = p.LoadUserTable(se) c.Assert(err, IsNil) - isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + isVisible = p.DBIsVisible("testvisdb8", "%", "visdb") c.Assert(isVisible, IsTrue) mustExec(c, se, "TRUNCATE TABLE mysql.user") - mustExec(c, se, `INSERT INTO mysql.user (Host, User, Execute_priv) VALUES ("%", "testvisdb6", "Y")`) + mustExec(c, se, `INSERT INTO mysql.user (Host, User, Execute_priv) VALUES ("%", "testvisdb9", "Y")`) err = p.LoadUserTable(se) c.Assert(err, IsNil) - isVisible = p.DBIsVisible("testvisdb6", "%", "visdb") + isVisible = p.DBIsVisible("testvisdb9", "%", "visdb") c.Assert(isVisible, IsTrue) mustExec(c, se, "TRUNCATE TABLE mysql.user") }