Commit b4871e29 authored by unknown's avatar unknown

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/home/jonas/src/mysql-4.1

parents f8f7888b 1409b9d7
...@@ -3447,6 +3447,19 @@ copy_data_between_tables(TABLE *from,TABLE *to, ...@@ -3447,6 +3447,19 @@ copy_data_between_tables(TABLE *from,TABLE *to,
if (!(copy= new Copy_field[to->fields])) if (!(copy= new Copy_field[to->fields]))
DBUG_RETURN(-1); /* purecov: inspected */ DBUG_RETURN(-1); /* purecov: inspected */
/*
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 (to->file->external_lock(thd, F_WRLCK)) if (to->file->external_lock(thd, F_WRLCK))
DBUG_RETURN(-1); DBUG_RETURN(-1);
from->file->info(HA_STATUS_VARIABLE); from->file->info(HA_STATUS_VARIABLE);
...@@ -3502,17 +3515,6 @@ copy_data_between_tables(TABLE *from,TABLE *to, ...@@ -3502,17 +3515,6 @@ copy_data_between_tables(TABLE *from,TABLE *to,
goto err; 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 /* Handler must be told explicitly to retrieve all columns, because
this function does not set field->query_id in the columns to the this function does not set field->query_id in the columns to the
current query id */ current query id */
......
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