mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
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).
This commit is contained in:
@ -2055,17 +2055,21 @@ add_tables_and_routines_for_triggers(THD *thd,
|
||||
/* We can have only one trigger per action type currently */
|
||||
sp_head *trigger= table_list->table->triggers->bodies[i][j];
|
||||
|
||||
if (trigger && sp_add_used_routine(prelocking_ctx, thd->stmt_arena,
|
||||
&trigger->m_sroutines_key,
|
||||
table_list->belong_to_view))
|
||||
if (trigger)
|
||||
{
|
||||
trigger->add_used_tables_to_table_list(thd,
|
||||
&prelocking_ctx->query_tables_last,
|
||||
table_list->belong_to_view);
|
||||
sp_update_stmt_used_routines(thd, prelocking_ctx,
|
||||
&trigger->m_sroutines,
|
||||
table_list->belong_to_view);
|
||||
trigger->propagate_attributes(prelocking_ctx);
|
||||
MDL_key key(MDL_TRIGGER, trigger->m_db.str, trigger->m_name.str);
|
||||
|
||||
if (sp_add_used_routine(prelocking_ctx, thd->stmt_arena,
|
||||
&key, table_list->belong_to_view))
|
||||
{
|
||||
trigger->add_used_tables_to_table_list(thd,
|
||||
&prelocking_ctx->query_tables_last,
|
||||
table_list->belong_to_view);
|
||||
sp_update_stmt_used_routines(thd, prelocking_ctx,
|
||||
&trigger->m_sroutines,
|
||||
table_list->belong_to_view);
|
||||
trigger->propagate_attributes(prelocking_ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user