mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
call ha_release_temporary_latches to fix bug 32149
This commit is contained in:
@ -3066,6 +3066,9 @@ bool select_insert::send_data(List<Item> &values)
|
||||
}
|
||||
}
|
||||
|
||||
// Release latches in case bulk insert takes a long time
|
||||
ha_release_temporary_latches(thd);
|
||||
|
||||
error= write_record(thd, table, &info);
|
||||
table->auto_increment_field_not_null= FALSE;
|
||||
|
||||
|
@ -10526,6 +10526,9 @@ free_tmp_table(THD *thd, TABLE *entry)
|
||||
save_proc_info=thd->proc_info;
|
||||
thd_proc_info(thd, "removing tmp table");
|
||||
|
||||
// Release latches since this can take a long time
|
||||
ha_release_temporary_latches(thd);
|
||||
|
||||
if (entry->file)
|
||||
{
|
||||
if (entry->db_stat)
|
||||
@ -10571,6 +10574,10 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
|
||||
table->file->print_error(error,MYF(0));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
||||
// Release latches since this can take a long time
|
||||
ha_release_temporary_latches(thd);
|
||||
|
||||
new_table= *table;
|
||||
share= *table->s;
|
||||
new_table.s= &share;
|
||||
|
@ -1081,6 +1081,9 @@ int ha_myisam::repair(THD *thd, MI_CHECK ¶m, bool do_optimize)
|
||||
param.out_flag= 0;
|
||||
strmov(fixed_name,file->filename);
|
||||
|
||||
// Release latches since this can take a long time
|
||||
ha_release_temporary_latches(thd);
|
||||
|
||||
// Don't lock tables if we have used LOCK TABLE
|
||||
if (!thd->locked_tables &&
|
||||
mi_lock_database(file, table->s->tmp_table ? F_EXTRA_LCK : F_WRLCK))
|
||||
|
Reference in New Issue
Block a user