summaryrefslogtreecommitdiff
path: root/sql/sql_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r--sql/sql_base.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 10f0885c3ac..25f3ed6e9ad 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -3934,8 +3934,7 @@ open_tables_check_upgradable_mdl(THD *thd, TABLE_LIST *tables_start,
*/
bool open_tables(THD *thd, const DDL_options_st &options,
- TABLE_LIST **start, uint *counter,
- Sroutine_hash_entry **sroutine_to_open_list, uint flags,
+ TABLE_LIST **start, uint *counter, uint flags,
Prelocking_strategy *prelocking_strategy)
{
/*
@@ -3978,9 +3977,10 @@ restart:
has_prelocking_list= thd->lex->requires_prelocking();
table_to_open= start;
- sroutine_to_open= sroutine_to_open_list;
+ sroutine_to_open= &thd->lex->sroutines_list.first;
*counter= 0;
THD_STAGE_INFO(thd, stage_opening_tables);
+ prelocking_strategy->reset(thd);
/*
If we are executing LOCK TABLES statement or a DDL statement
@@ -4038,8 +4038,7 @@ restart:
elements in prelocking list/set.
*/
while (*table_to_open ||
- (thd->locked_tables_mode <= LTM_LOCK_TABLES &&
- *sroutine_to_open))
+ (thd->locked_tables_mode <= LTM_LOCK_TABLES && *sroutine_to_open))
{
/*
For every table in the list of tables to open, try to find or open
@@ -4159,6 +4158,8 @@ restart:
}
}
}
+ if ((error= prelocking_strategy->handle_end(thd)))
+ goto error;
}
/*