diff options
author | Konstantin Osipov <kostja@sun.com> | 2009-12-09 19:11:26 +0300 |
---|---|---|
committer | Konstantin Osipov <kostja@sun.com> | 2009-12-09 19:11:26 +0300 |
commit | 4f85df4b95df010fe2fa486002597b40c5e30a6b (patch) | |
tree | c76b279ab7dbe6cccd4dc8c504cb62672e9bf097 /sql/sp.h | |
parent | 10db8e79c58ebb646ad777ae8288d6276698b545 (diff) | |
download | mariadb-git-4f85df4b95df010fe2fa486002597b40c5e30a6b.tar.gz |
Backport of:
------------------------------------------------------------
revno: 2617.68.24
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-next-bg-pre2-2
timestamp: Wed 2009-09-16 17:25:29 +0400
message:
Pre-requisite patch for fixing bug #30977 "Concurrent statement
using stored function and DROP FUNCTION breaks SBR".
Added MDL_request for stored routine as member to Sroutine_hash_entry
in order to be able perform metadata locking for stored routines in
future (Sroutine_hash_entry is an equivalent of TABLE_LIST class for
stored routines).
(WL#4284, follow up fixes).
Diffstat (limited to 'sql/sp.h')
-rw-r--r-- | sql/sp.h | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -73,9 +73,10 @@ class Sroutine_hash_entry { public: /** - Set key consisting of one-byte routine type and quoted routine name. + Metadata lock request for routine. + MDL_key in this request is also used as a key for set. */ - LEX_STRING key; + MDL_request mdl_request; /** Next element in list linking all routines in set. See also comments for LEX::sroutine/sroutine_list and sp_head::m_sroutines. @@ -96,7 +97,7 @@ public: void sp_add_used_routine(Query_tables_list *prelocking_ctx, Query_arena *arena, sp_name *rt, char rt_type); bool sp_add_used_routine(Query_tables_list *prelocking_ctx, Query_arena *arena, - const LEX_STRING *key, TABLE_LIST *belong_to_view); + const MDL_key *key, TABLE_LIST *belong_to_view); void sp_remove_not_own_routines(Query_tables_list *prelocking_ctx); void sp_update_sp_used_routines(HASH *dst, HASH *src); void sp_update_stmt_used_routines(THD *thd, Query_tables_list *prelocking_ctx, |