• marko's avatar
    branches/zip: Simplify crash recovery in fast index creation. · 52a89286
    marko authored
    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.
    52a89286
trx0rec.c 37.5 KB