Commit 1fff2398 authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-22530 Aborting OPTIMIZE TABLE still logs in binary log and replicates to the Slave server

Followup. If the KILL happens - report it as a failure,
don't eat it up silently. Note that this has to be done after `table_name`
is populated, so that the error message could show it.
parent 16d8763b
......@@ -588,8 +588,6 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
DBUG_PRINT("admin", ("table: '%s'.'%s'", db, table->table_name.str));
DEBUG_SYNC(thd, "admin_command_kill_before_modify");
if (thd->is_killed())
break;
table_name.length= strxmov(table_name_buff, db, ".", table->table_name.str,
NullS) - table_name_buff;
thd->open_options|= extra_open_options;
......@@ -605,6 +603,13 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
: lock_type >= TL_FIRST_WRITE
? MDL_SHARED_WRITE : MDL_SHARED_READ);
if (thd->check_killed())
{
fatal_error= true;
result_code= HA_ADMIN_FAILED;
goto send_result;
}
/* open only one table from local list of command */
while (1)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment