This commit is contained in:
unknown 2005-01-10 11:49:58 +01:00
commit 0b7895b9b1

View File

@ -3588,6 +3588,16 @@ copy_data_between_tables(TABLE *from,TABLE *to,
ulong save_sql_mode;
DBUG_ENTER("copy_data_between_tables");
/*
Turn off recovery logging since rollback of an alter table is to
delete the new table so there is no need to log the changes to it.
This needs to be done before external_lock
*/
error= ha_enable_transaction(thd, FALSE);
if (error)
DBUG_RETURN(-1);
if (!(copy= new Copy_field[to->s->fields]))
DBUG_RETURN(-1); /* purecov: inspected */
@ -3646,17 +3656,6 @@ copy_data_between_tables(TABLE *from,TABLE *to,
goto err;
};
/*
Turn off recovery logging since rollback of an alter table is to
delete the new table so there is no need to log the changes to it.
*/
error= ha_enable_transaction(thd,FALSE);
if (error)
{
error= 1;
goto err;
}
/* Handler must be told explicitly to retrieve all columns, because
this function does not set field->query_id in the columns to the
current query id */