Commit 79887971 authored by Vasil Dimov's avatar Vasil Dimov

Replay a lost change (fix for Bug#56947 InnoDB leaks memory... in 5.5)

This change was originally done in
marko.makela@oracle.com-20101011085943-50pskvsbbsujbukg
but was later lost during the merge process.
parent 35b5cdb8
...@@ -1939,15 +1939,13 @@ row_create_table_for_mysql( ...@@ -1939,15 +1939,13 @@ row_create_table_for_mysql(
err = trx->error_state; err = trx->error_state;
if (UNIV_UNLIKELY(err != DB_SUCCESS)) { switch (err) {
case DB_SUCCESS:
break;
case DB_OUT_OF_FILE_SPACE:
trx->error_state = DB_SUCCESS; trx->error_state = DB_SUCCESS;
trx_general_rollback_for_mysql(trx, NULL); trx_general_rollback_for_mysql(trx, NULL);
/* TO DO: free table? The code below will dereference
table->name, though. */
}
switch (err) {
case DB_OUT_OF_FILE_SPACE:
ut_print_timestamp(stderr); ut_print_timestamp(stderr);
fputs(" InnoDB: Warning: cannot create table ", fputs(" InnoDB: Warning: cannot create table ",
stderr); stderr);
...@@ -1962,9 +1960,13 @@ row_create_table_for_mysql( ...@@ -1962,9 +1960,13 @@ row_create_table_for_mysql(
break; break;
case DB_DUPLICATE_KEY: case DB_DUPLICATE_KEY:
default:
/* We may also get err == DB_ERROR if the .ibd file for the /* We may also get err == DB_ERROR if the .ibd file for the
table already exists */ table already exists */
trx->error_state = DB_SUCCESS;
trx_general_rollback_for_mysql(trx, NULL);
dict_mem_table_free(table);
break; break;
} }
......
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