• unknown's avatar
    After review fixes. Fix bugs in TRUNCATE. · 39cf45fd
    unknown authored
    
    innobase/dict/dict0crea.c:
      dict_truncate_index_tree(): Commit the mtr after deleting the
      index tree. Add diagnostics for error cases. Let the caller update
      SYS_INDEXES.PAGE_NO to the new root page number. Return the new
      root page number, or FIL_NULL on error.
    innobase/include/dict0crea.h:
      dict_truncate_index_tree(): Commit the mtr after deleting the
      index tree. Add diagnostics for error cases. Let the caller update
      SYS_INDEXES.PAGE_NO to the new root page number. Return the new
      root page number, or FIL_NULL on error.
    innobase/include/page0page.ic:
      page_mem_free(): Disable the memset() call, to make it possible to
      recover some data if someone accidentally deletes a large number
      of records from a table.
    innobase/log/log0recv.c:
      Do not disable InnoDB Hot Backup specific code in MySQL builds.
    innobase/row/row0mysql.c:
      row_truncate_table_for_mysql(): Remove an infinite loop in case
      a SYS_INDEXES record has been deleted. Avoid deadlocks by committing
      and restarting the mini-transaction.
    sql/ha_innodb.cc:
      ha_innobase::delete_all_rows(): set trx->active_trans = 1
    39cf45fd
row0mysql.c 103 KB