mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-mysqlproc mysql-test/r/sp-error.result: Auto merged mysql-test/t/sp-error.test: Auto merged sql/mysql_priv.h: Auto merged sql/sp.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/share/errmsg.txt: Manual merge. sql/sp.cc: Manual merge.
This commit is contained in:
@ -286,6 +286,19 @@ ERROR 42000: OUT or INOUT argument 2 for routine test.p is not a variable
|
||||
call p(42, @tmp_y, 43)|
|
||||
ERROR 42000: OUT or INOUT argument 3 for routine test.p is not a variable
|
||||
drop procedure p|
|
||||
create procedure p() begin end|
|
||||
lock table t1 read|
|
||||
call p()|
|
||||
unlock tables|
|
||||
drop procedure p|
|
||||
lock tables t1 read, mysql.proc write|
|
||||
ERROR HY000: You can't combine write-locking of system 'mysql.proc' table with other tables
|
||||
lock tables mysql.proc write, mysql.user write|
|
||||
ERROR HY000: You can't combine write-locking of system 'mysql.proc' table with other tables
|
||||
lock tables t1 read, mysql.proc read|
|
||||
unlock tables|
|
||||
lock tables mysql.proc write|
|
||||
unlock tables|
|
||||
create procedure bug1965()
|
||||
begin
|
||||
declare c cursor for select val from t1 order by valname;
|
||||
@ -477,7 +490,7 @@ begin
|
||||
select * from t1;
|
||||
end|
|
||||
lock table t1 read|
|
||||
call bug9566()|
|
||||
alter procedure bug9566 comment 'Some comment'|
|
||||
ERROR HY000: Table 'proc' was not locked with LOCK TABLES
|
||||
unlock tables|
|
||||
drop procedure bug9566|
|
||||
|
@ -55,3 +55,12 @@ call bug11158();
|
||||
unlock tables;
|
||||
drop procedure bug11158;
|
||||
drop table t1, t2;
|
||||
drop function if exists bug11554;
|
||||
drop view if exists v1;
|
||||
create table t1 (i int);
|
||||
create function bug11554 () returns int return 1;
|
||||
create view v1 as select bug11554() as f;
|
||||
insert into t1 (select f from v1);
|
||||
drop function bug11554;
|
||||
drop table t1;
|
||||
drop view v1;
|
||||
|
@ -386,6 +386,29 @@ call p(42, @tmp_y, 43)|
|
||||
drop procedure p|
|
||||
|
||||
|
||||
#
|
||||
# Let us test that we can access mysql.proc table for routines
|
||||
# definitions lookup without locking it explicitly.
|
||||
#
|
||||
create procedure p() begin end|
|
||||
lock table t1 read|
|
||||
# This should succeed
|
||||
call p()|
|
||||
unlock tables|
|
||||
drop procedure p|
|
||||
# Let us check restrictions which this ability puts on mysql.proc locking.
|
||||
--error ER_WRONG_LOCK_OF_SYSTEM_TABLE
|
||||
lock tables t1 read, mysql.proc write|
|
||||
--error ER_WRONG_LOCK_OF_SYSTEM_TABLE
|
||||
lock tables mysql.proc write, mysql.user write|
|
||||
# Locking for read should be OK
|
||||
lock tables t1 read, mysql.proc read|
|
||||
unlock tables|
|
||||
# You also should be able lock only mysql.proc for write
|
||||
lock tables mysql.proc write|
|
||||
unlock tables|
|
||||
|
||||
|
||||
#
|
||||
# BUG#1965
|
||||
#
|
||||
@ -676,9 +699,7 @@ create procedure bug6600()
|
||||
# BUG#9566: explicit LOCK TABLE and store procedures result in illegal state
|
||||
#
|
||||
# We should not think that mysql.proc table does not exist if we are unable
|
||||
# to open it under LOCK TABLE or in prelocked mode. Probably this test
|
||||
# should be removed when Monty will allow access to mysql.proc without
|
||||
# locking it.
|
||||
# to open it under LOCK TABLE or in prelocked mode.
|
||||
#
|
||||
--disable_warnings
|
||||
drop procedure if exists bug9566|
|
||||
@ -688,9 +709,11 @@ begin
|
||||
select * from t1;
|
||||
end|
|
||||
lock table t1 read|
|
||||
# This should fail because we forgot to lock mysql.proc table explicitly
|
||||
# This should fail since we forgot to lock mysql.proc for writing
|
||||
# explicitly, and we can't open mysql.proc for _writing_ if there
|
||||
# are locked tables.
|
||||
--error 1100
|
||||
call bug9566()|
|
||||
alter procedure bug9566 comment 'Some comment'|
|
||||
unlock tables|
|
||||
# This should succeed
|
||||
drop procedure bug9566|
|
||||
|
@ -111,6 +111,25 @@ connection con1root;
|
||||
drop procedure bug11158;
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# BUG#11554: Server crashes on statement indirectly using non-cached function
|
||||
#
|
||||
--disable_warnings
|
||||
drop function if exists bug11554;
|
||||
drop view if exists v1;
|
||||
--enable_warnings
|
||||
create table t1 (i int);
|
||||
create function bug11554 () returns int return 1;
|
||||
create view v1 as select bug11554() as f;
|
||||
connection con2root;
|
||||
# This should not crash server
|
||||
insert into t1 (select f from v1);
|
||||
# Clean-up
|
||||
connection con1root;
|
||||
drop function bug11554;
|
||||
drop table t1;
|
||||
drop view v1;
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
Reference in New Issue
Block a user