branches/zip: Simplify crash recovery in fast index creation.
trx_t: Remove dict_undo_list and dict_redo_list. innobase_create_temporary_tablename(): Replace TEMP_TABLE_PREFIX with a table name suffix "#1" or "#2". In this way, the user can restore precious data, should anything go wrong. It is possible to reach an inconsistent state, because the creation, deletion and renaming of single-table tablespaces are not transactional. ut_print_namel(), fil_make_ibd_name(), innobase_rename_table(): Remove the special treatment of TEMP_TABLE_PREFIX. Introduce TEMP_INDEX_PREFIX == 0xff for temporary indexes. This byte cannot occur in index names since MySQL 4.1. However, it might have been possible to use this byte in MySQL 4.0. recv_recovery_from_checkpoint_finish(): Call the new function row_merge_drop_temp_indexes(), to drop all indexes whose name starts with the byte 0xff. row_merge_rename_indexes(): Renamed from row_merge_rename_index(). Remove the parameter "index". row_drop_table_for_mysql(): Unconditionally call trx_commit_for_mysql(). row_drop_table_for_mysql_no_commit(): Correct the function commit, based on the corrected comment of row_drop_table_for_mysql(). Rely on table->to_be_dropped instead of TEMP_TABLE_PREFIX. ha_innobase::add_index(): Simplify the control flow.
Showing
This diff is collapsed.
Please register or sign in to comment