diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/grant2.result | 13 | ||||
-rw-r--r-- | mysql-test/t/grant2.test | 25 |
2 files changed, 38 insertions, 0 deletions
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result index a42ad0d79a5..fa25df3203f 100644 --- a/mysql-test/r/grant2.result +++ b/mysql-test/r/grant2.result @@ -356,3 +356,16 @@ insert into mysql.user select * from t1; drop table t1, t2; drop database TESTDB; flush privileges; +grant all privileges on test.* to `a@`@localhost; +grant execute on * to `a@`@localhost; +create table t2 (s1 int); +insert into t2 values (1); +drop function if exists f2; +create function f2 () returns int begin declare v int; select s1 from t2 +into v; return v; end// +select f2(); +f2() +1 +drop function f2; +drop table t2; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost; diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test index 2c62d2f1bd3..32232360afa 100644 --- a/mysql-test/t/grant2.test +++ b/mysql-test/t/grant2.test @@ -465,3 +465,28 @@ drop table t1, t2; drop database TESTDB; flush privileges; +# +# BUG#13310 incorrect user parsing by SP +# + +grant all privileges on test.* to `a@`@localhost; +grant execute on * to `a@`@localhost; +connect (bug13310,localhost,'a@',,test); +connection bug13310; +create table t2 (s1 int); +insert into t2 values (1); +--disable_warnings +drop function if exists f2; +--enable_warnings +delimiter //; +create function f2 () returns int begin declare v int; select s1 from t2 +into v; return v; end// +delimiter ;// +select f2(); + +drop function f2; +drop table t2; +disconnect bug13310; + +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost; |