Commit 8a7bbefc authored by unknown's avatar unknown
Browse files

Added new test case for BUG#14533: 'desc tbl' in stored procedure causes error 1142

  which is no longer repeatable. (Unclear when this was fixed.)


mysql-test/r/sp-security.result:
  Updated results for new test case (BUG#14533)
mysql-test/t/sp-security.test:
  New test case for BUG#14533.
parent 94d4b001
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -291,3 +291,26 @@ drop user user1_bug14834@localhost;
drop user user2_bug14834@localhost;
drop user user3_bug14834@localhost;
drop database db_bug14834;
create database db_bug14533;
use db_bug14533;
create table t1 (id int);
create user user_bug14533@localhost identified by '';
create procedure bug14533_1()
sql security definer
desc db_bug14533.t1;
create procedure bug14533_2()
sql security definer
select * from db_bug14533.t1;
grant execute on procedure db_bug14533.bug14533_1 to user_bug14533@localhost;
grant execute on procedure db_bug14533.bug14533_2 to user_bug14533@localhost;
call db_bug14533.bug14533_1();
Field	Type	Null	Key	Default	Extra
id	int(11)	YES		NULL	
call db_bug14533.bug14533_2();
id
desc db_bug14533.t1;
ERROR 42000: SELECT command denied to user 'user_bug14533'@'localhost' for table 't1'
select * from db_bug14533.t1;
ERROR 42000: SELECT command denied to user 'user_bug14533'@'localhost' for table 't1'
drop user user_bug14533@localhost;
drop database db_bug14533;
+38 −0
Original line number Diff line number Diff line
@@ -487,4 +487,42 @@ drop user user2_bug14834@localhost;
drop user user3_bug14834@localhost;
drop database db_bug14834;


#
# BUG#14533: 'desc tbl' in stored procedure causes error 1142
#
create database db_bug14533;
use db_bug14533;
create table t1 (id int);
create user user_bug14533@localhost identified by '';

create procedure bug14533_1()
    sql security definer
  desc db_bug14533.t1;

create procedure bug14533_2()
    sql security definer
   select * from db_bug14533.t1;

grant execute on procedure db_bug14533.bug14533_1 to user_bug14533@localhost;
grant execute on procedure db_bug14533.bug14533_2 to user_bug14533@localhost;

connect (user_bug14533,localhost,user_bug14533,,test);

# These should work
call db_bug14533.bug14533_1();
call db_bug14533.bug14533_2();

# For reference, these should not work
--error ER_TABLEACCESS_DENIED_ERROR
desc db_bug14533.t1;
--error ER_TABLEACCESS_DENIED_ERROR
select * from db_bug14533.t1;

# Cleanup
connection default;
disconnect user_bug14533;
drop user user_bug14533@localhost;
drop database db_bug14533;

# End of 5.0 bugs.