mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
mysql-5.5.18 merge
This commit is contained in:
@ -2062,13 +2062,6 @@ public:
|
||||
*/
|
||||
ha_rows examined_row_count;
|
||||
|
||||
/*
|
||||
The set of those tables whose fields are referenced in all subqueries
|
||||
of the query.
|
||||
TODO: possibly this it is incorrect to have used tables in THD because
|
||||
with more than one subquery, it is not clear what does the field mean.
|
||||
*/
|
||||
table_map used_tables;
|
||||
USER_CONN *user_connect;
|
||||
CHARSET_INFO *db_charset;
|
||||
Warning_info *warning_info;
|
||||
@ -2955,7 +2948,19 @@ public:
|
||||
{
|
||||
DBUG_ASSERT(locked_tables_mode == LTM_NONE);
|
||||
|
||||
mdl_context.set_explicit_duration_for_all_locks();
|
||||
if (mode_arg == LTM_LOCK_TABLES)
|
||||
{
|
||||
/*
|
||||
When entering LOCK TABLES mode we should set explicit duration
|
||||
for all metadata locks acquired so far in order to avoid releasing
|
||||
them till UNLOCK TABLES statement.
|
||||
We don't do this when entering prelocked mode since sub-statements
|
||||
don't release metadata locks and restoring status-quo after leaving
|
||||
prelocking mode gets complicated.
|
||||
*/
|
||||
mdl_context.set_explicit_duration_for_all_locks();
|
||||
}
|
||||
|
||||
locked_tables_mode= mode_arg;
|
||||
}
|
||||
void leave_locked_tables_mode();
|
||||
@ -4036,14 +4041,6 @@ void add_diff_to_status(STATUS_VAR *to_var, STATUS_VAR *from_var,
|
||||
STATUS_VAR *dec_var);
|
||||
void mark_transaction_to_rollback(THD *thd, bool all);
|
||||
|
||||
/*
|
||||
This prototype is placed here instead of in item_func.h because it
|
||||
depends on the definition of enum_sql_command, which is in this
|
||||
file.
|
||||
*/
|
||||
int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
||||
LEX_STRING &name, user_var_entry **out_entry);
|
||||
|
||||
/* Inline functions */
|
||||
|
||||
inline bool add_item_to_list(THD *thd, Item *item)
|
||||
|
Reference in New Issue
Block a user