summaryrefslogtreecommitdiff
path: root/sql/sp.h
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2009-12-09 19:11:26 +0300
committerKonstantin Osipov <kostja@sun.com>2009-12-09 19:11:26 +0300
commit4f85df4b95df010fe2fa486002597b40c5e30a6b (patch)
treec76b279ab7dbe6cccd4dc8c504cb62672e9bf097 /sql/sp.h
parent10db8e79c58ebb646ad777ae8288d6276698b545 (diff)
downloadmariadb-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.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/sp.h b/sql/sp.h
index 1de41eb3920..a66d72d0e9e 100644
--- a/sql/sp.h
+++ b/sql/sp.h
@@ -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,