Make copy from heap to MyISAM / Aria killable.
Fixes LP#695006 converting HEAP to Aria" status do not respond to KILL QUERY sql/sql_select.cc: Make copy from heap to MyISAM / Aria killable.
This commit is contained in:
parent
1e0b42d91f
commit
711b36732b
@ -11210,6 +11210,11 @@ create_internal_tmp_table_from_heap2(THD *thd, TABLE *table,
|
|||||||
DBUG_EXECUTE_IF("raise_error", write_err= HA_ERR_FOUND_DUPP_KEY ;);
|
DBUG_EXECUTE_IF("raise_error", write_err= HA_ERR_FOUND_DUPP_KEY ;);
|
||||||
if (write_err)
|
if (write_err)
|
||||||
goto err;
|
goto err;
|
||||||
|
if (thd->killed)
|
||||||
|
{
|
||||||
|
thd->send_kill_message();
|
||||||
|
goto err_killed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* copy row that filled HEAP table */
|
/* copy row that filled HEAP table */
|
||||||
if ((write_err=new_table.file->ha_write_row(table->record[0])))
|
if ((write_err=new_table.file->ha_write_row(table->record[0])))
|
||||||
@ -11240,6 +11245,7 @@ create_internal_tmp_table_from_heap2(THD *thd, TABLE *table,
|
|||||||
err:
|
err:
|
||||||
DBUG_PRINT("error",("Got error: %d",write_err));
|
DBUG_PRINT("error",("Got error: %d",write_err));
|
||||||
table->file->print_error(write_err, MYF(0));
|
table->file->print_error(write_err, MYF(0));
|
||||||
|
err_killed:
|
||||||
(void) table->file->ha_rnd_end();
|
(void) table->file->ha_rnd_end();
|
||||||
(void) new_table.file->close();
|
(void) new_table.file->close();
|
||||||
err1:
|
err1:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user