Commit b2596464 authored by Ashish Agarwal's avatar Ashish Agarwal

BUG#11748748: Merge from mysql-5.1 to mysql-5.5

parents 0a17a350 cfcb5dab
......@@ -1394,6 +1394,7 @@ int ha_archive::optimize(THD* thd, HA_CHECK_OPT* check_opt)
char writer_filename[FN_REFLEN];
DBUG_ENTER("ha_archive::optimize");
mysql_mutex_lock(&share->mutex);
init_archive_reader();
// now we close both our writer and our reader for the rename
......@@ -1408,7 +1409,10 @@ int ha_archive::optimize(THD* thd, HA_CHECK_OPT* check_opt)
MY_REPLACE_EXT | MY_UNPACK_FILENAME);
if (!(azopen(&writer, writer_filename, O_CREAT|O_RDWR|O_BINARY)))
{
mysql_mutex_unlock(&share->mutex);
DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
}
/*
Transfer the embedded FRM so that the file can be discoverable.
......@@ -1494,10 +1498,12 @@ int ha_archive::optimize(THD* thd, HA_CHECK_OPT* check_opt)
rc= my_rename(writer_filename, share->data_file_name, MYF(0));
mysql_mutex_unlock(&share->mutex);
DBUG_RETURN(rc);
error:
DBUG_PRINT("ha_archive", ("Failed to recover, error was %d", rc));
azclose(&writer);
mysql_mutex_unlock(&share->mutex);
DBUG_RETURN(rc);
}
......
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