diff options
author | unknown <pem@mysql.comhem.se> | 2004-03-11 17:18:59 +0100 |
---|---|---|
committer | unknown <pem@mysql.comhem.se> | 2004-03-11 17:18:59 +0100 |
commit | eb4aa092e5648cc950ff8a6e3e5acbe296ae8fa7 (patch) | |
tree | 2a790442a0c109f0f5eabc6530c71782c2104c30 /mysql-test/t/sp-security.test | |
parent | 5aa57221d8b40a0b5146c9af027cdd2dc15af737 (diff) | |
download | mariadb-git-eb4aa092e5648cc950ff8a6e3e5acbe296ae8fa7.tar.gz |
WL#1366: Use the schema (db) associated with an SP.
Phase 2: Make SPs belong to a DB, and use qualified names.
As a side effect, using USE in an SP is no longer allowed.
(It just doesn't work otherwise.)
include/mysqld_error.h:
New error code (USE is no longer allowed in a stored procedure).
include/sql_state.h:
New error state (USE is no longer allowed in a stored procedure).
mysql-test/r/sp-error.result:
Updated result for test of USE in SP (not allowed now).
mysql-test/r/sp-security.result:
Updated test results for new db column and qualified procedured names.
mysql-test/r/sp.result:
Updated results for USE in SP (as it's no longer allowed), and
for new db column in status result.
mysql-test/t/sp-error.test:
Moved test of USE in SP from sp.test (as it's no longer allowed).
mysql-test/t/sp-security.test:
Ajusted tests for new db column and qualified procedured names.
mysql-test/t/sp.test:
Moved test of USE in SP to sp-error.test (as it's no longer allowed).
Adjusted tests for new db column in status result.
sql/mysql_priv.h:
mysql_change_db() now has optional arguments for use by SP with qualified names.
sql/share/czech/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/danish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/dutch/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/english/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/estonian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/french/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/german/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/greek/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/hungarian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/italian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/japanese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/korean/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian-ny/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/polish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/portuguese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/romanian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/russian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/serbian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/slovak/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/spanish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/swedish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/ukrainian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/sp.cc:
SPs are now "belong" to a DB and may have qualified names.
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp.h:
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp_cache.cc:
Use the qualified name in the SP cache.
sql/sp_head.cc:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Change DB when executing an SP (if needed).
Moved thd_mem_root swap functions from sp_head.h.
sql/sp_head.h:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Moved thd_mem_root swap functions to sp_head.cc.
sql/sql_db.cc:
mysql_change_db() now has optional arguments for use by SP with qualified names
(for use when reading an SP from database and executing it); also allow "unusing"
a database, i.e. setting thd->thd to "".
sql/sql_yacc.yy:
Initialize qualfied SP names correctly.
USE is no longer allowed in an SP.
Diffstat (limited to 'mysql-test/t/sp-security.test')
-rw-r--r-- | mysql-test/t/sp-security.test | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mysql-test/t/sp-security.test b/mysql-test/t/sp-security.test index ac7477869a1..2d089e72d0b 100644 --- a/mysql-test/t/sp-security.test +++ b/mysql-test/t/sp-security.test @@ -24,7 +24,7 @@ create table t1 ( u varchar(64), i int ); # Our test procedure create procedure stamp(i int) insert into db1_secret.t1 values (user(), i); ---replace_column 4 '0000-00-00 00:00:00' 5 '0000-00-00 00:00:00' +--replace_column 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00' show procedure status like 'stamp'; # root can, of course @@ -40,7 +40,7 @@ connect (con3anon,localhost,anon,,); connection con2user1; # This should work... -call stamp(2); +call db1_secret.stamp(2); # ...but not this --error 1044 @@ -52,7 +52,7 @@ select * from db1_secret.t1; connection con3anon; # This should work... -call stamp(3); +call db1_secret.stamp(3); # ...but not this --error 1044 @@ -68,7 +68,7 @@ select * from t1; # Change to invoker's rights # alter procedure stamp sql security invoker; ---replace_column 4 '0000-00-00 00:00:00' 5 '0000-00-00 00:00:00' +--replace_column 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00' show procedure status like 'stamp'; # root still can @@ -82,7 +82,7 @@ connection con2user1; # This should not work --error 1044 -call stamp(5); +call db1_secret.stamp(5); # # Anonymous cannot @@ -91,7 +91,7 @@ connection con3anon; # This should not work --error 1044 -call stamp(6); +call db1_secret.stamp(6); # @@ -148,9 +148,9 @@ select * from t2; # Clean up connection con1root; -drop procedure stamp; -drop procedure p; -drop procedure q; +drop procedure db1_secret.stamp; +drop procedure db2.p; +drop procedure db2.q; use test; drop database db1_secret; drop database db2; |