Commit 11ff7b16 authored by unknown's avatar unknown

Bug#11577 'show procedure/function status' doesn't work for user with limited access

   changed 'SHOW PROCEDURE' behavoiur to be like INFORMATION_SCHEMA.routines

parent ff9be613
...@@ -298,6 +298,9 @@ show create function sub2; ...@@ -298,6 +298,9 @@ show create function sub2;
Function sql_mode Create Function Function sql_mode Create Function
sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int(11) sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int(11)
return i+1 return i+1
show function status like "sub2";
Db Name Type Definer Modified Created Security_type Comment
test sub2 FUNCTION mysqltest_1@localhost # # DEFINER
drop function sub2; drop function sub2;
show create procedure sel2; show create procedure sel2;
Procedure sql_mode Create Procedure Procedure sql_mode Create Procedure
......
...@@ -157,6 +157,8 @@ select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES; ...@@ -157,6 +157,8 @@ select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
show create procedure sel2; show create procedure sel2;
show create function sub1; show create function sub1;
show create function sub2; show create function sub2;
--replace_column 5 # 6 #
show function status like "sub2";
connection default; connection default;
disconnect user1; disconnect user1;
drop function sub2; drop function sub2;
......
...@@ -2386,10 +2386,12 @@ mysql_execute_command(THD *thd) ...@@ -2386,10 +2386,12 @@ mysql_execute_command(THD *thd)
select_result *result=lex->result; select_result *result=lex->result;
if (all_tables) if (all_tables)
{ {
res= check_table_access(thd, if (lex->orig_sql_command != SQLCOM_SHOW_STATUS_PROC &&
lex->exchange ? SELECT_ACL | FILE_ACL : lex->orig_sql_command != SQLCOM_SHOW_STATUS_FUNC)
SELECT_ACL, res= check_table_access(thd,
all_tables, 0); lex->exchange ? SELECT_ACL | FILE_ACL :
SELECT_ACL,
all_tables, 0);
} }
else else
res= check_access(thd, res= check_access(thd,
......
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