Commit 3eb8a12c authored by unknown's avatar unknown

Applied innodb-4.1-ss31 snapshot.

 Fixed BUG#19727 "InnoDB crashed server and crashed tables
 are not recoverable".


innobase/row/row0mysql.c:
  Applied innodb-4.1-ss31 snapshot.
   Move trx_commit_for_mysql(trx) calls before calls to
   row_mysql_unlock_data_dictionary(trx).
parent 8069b05d
......@@ -2237,14 +2237,14 @@ do not allow the discard. We also reserve the data dictionary latch. */
}
}
funct_exit:
trx_commit_for_mysql(trx);
row_mysql_unlock_data_dictionary(trx);
if (graph) {
que_graph_free(graph);
}
trx_commit_for_mysql(trx);
trx->op_info = "";
return((int) err);
......@@ -2374,10 +2374,10 @@ row_import_tablespace_for_mysql(
}
funct_exit:
row_mysql_unlock_data_dictionary(trx);
trx_commit_for_mysql(trx);
row_mysql_unlock_data_dictionary(trx);
trx->op_info = "";
return((int) err);
......@@ -2769,6 +2769,8 @@ fputs(" InnoDB: You are trying to drop table ", stderr);
}
funct_exit:
trx_commit_for_mysql(trx);
if (locked_dictionary) {
row_mysql_unlock_data_dictionary(trx);
}
......@@ -2779,8 +2781,6 @@ funct_exit:
que_graph_free(graph);
trx_commit_for_mysql(trx);
trx->op_info = "";
srv_wake_master_thread();
......@@ -2857,10 +2857,10 @@ loop:
}
}
row_mysql_unlock_data_dictionary(trx);
trx_commit_for_mysql(trx);
row_mysql_unlock_data_dictionary(trx);
trx->op_info = "";
return(err);
......@@ -3272,6 +3272,8 @@ row_rename_table_for_mysql(
}
}
funct_exit:
trx_commit_for_mysql(trx);
if (!recovering_temp_table) {
row_mysql_unlock_data_dictionary(trx);
}
......@@ -3284,8 +3286,6 @@ funct_exit:
mem_heap_free(heap);
}
trx_commit_for_mysql(trx);
trx->op_info = "";
return((int) err);
......
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