Fix for a bug in SHOW GRANTS when :

grant on database.* to xx@yy with grant option;

is done.
parent b6b2fbe9
...@@ -64,3 +64,8 @@ GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TE ...@@ -64,3 +64,8 @@ GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TE
revoke all privileges on mysqltest.* from mysqltest_1@localhost; revoke all privileges on mysqltest.* from mysqltest_1@localhost;
delete from mysql.user where user='mysqltest_1'; delete from mysql.user where user='mysqltest_1';
flush privileges; flush privileges;
grant usage on test.* to user@localhost with grant option;
show grants for user@localhost;
Grants for user@localhost
GRANT USAGE ON *.* TO 'user'@'localhost'
GRANT USAGE ON `test`.* TO 'user'@'localhost' WITH GRANT OPTION
...@@ -39,3 +39,6 @@ show grants for mysqltest_1@localhost; ...@@ -39,3 +39,6 @@ show grants for mysqltest_1@localhost;
revoke all privileges on mysqltest.* from mysqltest_1@localhost; revoke all privileges on mysqltest.* from mysqltest_1@localhost;
delete from mysql.user where user='mysqltest_1'; delete from mysql.user where user='mysqltest_1';
flush privileges; flush privileges;
grant usage on test.* to user@localhost with grant option;
show grants for user@localhost;
...@@ -505,7 +505,7 @@ bool Item::save_in_field(Field *field, bool no_conversions) ...@@ -505,7 +505,7 @@ bool Item::save_in_field(Field *field, bool no_conversions)
{ {
double nr=val(); double nr=val();
if (null_value) if (null_value)
return set_field_to_null(field); return set_field_to_null_with_conversions(field, no_conversions);
field->set_notnull(); field->set_notnull();
field->store(nr); field->store(nr);
} }
......
...@@ -2894,6 +2894,8 @@ int mysql_show_grants(THD *thd,LEX_USER *lex_user) ...@@ -2894,6 +2894,8 @@ int mysql_show_grants(THD *thd,LEX_USER *lex_user)
if (test_all_bits(want_access,(DB_ACLS & ~GRANT_ACL))) if (test_all_bits(want_access,(DB_ACLS & ~GRANT_ACL)))
db.append("ALL PRIVILEGES",14); db.append("ALL PRIVILEGES",14);
else if (!(want_access & ~GRANT_ACL))
db.append("USAGE",5);
else else
{ {
int found=0, cnt; int found=0, cnt;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment