mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for bug #9566 "explicit LOCK TABLE and store procedures result in
illegal state". We should not assume that mysql.proc table does not exist if we are unable to open it under LOCK TABLES or in prelocked mode (and remember this fact by setting mysql_proc_table_exists to zero). mysql-test/r/sp.result: Added test for bug #9566 "explicit LOCK TABLE and store procedures result in illegal state" mysql-test/t/sp.test: Added test for bug #9566 "explicit LOCK TABLE and store procedures result in illegal state" sql/sp.cc: db_find_routine_aux(): We should not assume that mysql.proc table does not exist if we are unable to open it under LOCK TABLES or in prelocked mode since this condition may be transient.
This commit is contained in:
@ -2779,4 +2779,14 @@ a
|
||||
3.2000
|
||||
drop procedure bug8937|
|
||||
delete from t1|
|
||||
drop procedure if exists bug9566|
|
||||
create procedure bug9566()
|
||||
begin
|
||||
select * from t1;
|
||||
end|
|
||||
lock table t1 read|
|
||||
call bug9566()|
|
||||
ERROR HY000: Table 'proc' was not locked with LOCK TABLES
|
||||
unlock tables|
|
||||
drop procedure bug9566|
|
||||
drop table t1,t2;
|
||||
|
@ -3397,6 +3397,29 @@ call bug8937()|
|
||||
drop procedure bug8937|
|
||||
delete from t1|
|
||||
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
--disable_warnings
|
||||
drop procedure if exists bug9566|
|
||||
--enable_warnings
|
||||
create procedure bug9566()
|
||||
begin
|
||||
select * from t1;
|
||||
end|
|
||||
lock table t1 read|
|
||||
# This should fail because we forgot to lock mysql.proc table explicitly
|
||||
--error 1100
|
||||
call bug9566()|
|
||||
unlock tables|
|
||||
# This should succeed
|
||||
drop procedure bug9566|
|
||||
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
|
Reference in New Issue
Block a user