1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

bug#7761 - ndb does not autocommit during alter table

sql/sql_table.cc:
  Turn off transactions before locking (as locking will need to know)
This commit is contained in:
unknown
2005-01-10 11:17:01 +01:00
parent 3186b340da
commit 1409b9d7ae

View File

@ -3447,6 +3447,19 @@ copy_data_between_tables(TABLE *from,TABLE *to,
if (!(copy= new Copy_field[to->fields]))
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))
DBUG_RETURN(-1);
from->file->info(HA_STATUS_VARIABLE);
@ -3502,17 +3515,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 */