1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Fixes (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv

bug #6933: error in the tests/grant.pl test).


mysql-test/r/grant.result:
  A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv).
mysql-test/t/grant.test:
  A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv).
sql/sql_acl.cc:
  A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv).
  The problem is that we use whole key length (including 'Column_name' keypart)                          
  during scanning the 'columns_priv' table in case of revoke_grant.
tests/grant.pl:
  A fix (bug #6933: error in the tests/grant.pl test).
This commit is contained in:
unknown
2004-12-02 13:34:30 +04:00
parent 6f20687e20
commit 491a3d90a9
4 changed files with 36 additions and 3 deletions

View File

@ -321,3 +321,23 @@ DROP DATABASE testdb7;
DROP DATABASE testdb8;
DROP DATABASE testdb9;
DROP DATABASE testdb10;
create table t1(a int, b int, c int, d int);
grant insert(b), insert(c), insert(d), insert(a) on t1 to grant_user@localhost;
show grants for grant_user@localhost;
Grants for grant_user@localhost
GRANT USAGE ON *.* TO 'grant_user'@'localhost'
GRANT INSERT (a, d, c, b) ON `test`.`t1` TO 'grant_user'@'localhost'
select Host,Db,User,Table_name,Column_name,Column_priv from mysql.columns_priv;
Host Db User Table_name Column_name Column_priv
localhost test grant_user t1 c Insert
localhost test grant_user t1 b Insert
localhost test grant_user t1 a Insert
localhost test grant_user t1 d Insert
revoke ALL PRIVILEGES on t1 from grant_user@localhost;
show grants for grant_user@localhost;
Grants for grant_user@localhost
GRANT USAGE ON *.* TO 'grant_user'@'localhost'
select Host,Db,User,Table_name,Column_name,Column_priv from mysql.columns_priv;
Host Db User Table_name Column_name Column_priv
drop user grant_user@localhost;
drop table t1;

View File

@ -267,3 +267,16 @@ DROP DATABASE testdb8;
DROP DATABASE testdb9;
DROP DATABASE testdb10;
#
# Bug #6932: a problem with 'revoke ALL PRIVILEGES'
#
create table t1(a int, b int, c int, d int);
grant insert(b), insert(c), insert(d), insert(a) on t1 to grant_user@localhost;
show grants for grant_user@localhost;
select Host,Db,User,Table_name,Column_name,Column_priv from mysql.columns_priv;
revoke ALL PRIVILEGES on t1 from grant_user@localhost;
show grants for grant_user@localhost;
select Host,Db,User,Table_name,Column_name,Column_priv from mysql.columns_priv;
drop user grant_user@localhost;
drop table t1;