diff options
author | unknown <marko@hundin.mysql.fi> | 2005-03-01 19:42:59 +0200 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-03-01 19:42:59 +0200 |
commit | 39cf45fd54247ca02554a2ecfedcbfbd996b9060 (patch) | |
tree | 87a9487085f2946b718777b52b8cfc500bea903b /innobase/include/page0page.ic | |
parent | 91fa4862c07354a7ac65055758ca21cf21296245 (diff) | |
download | mariadb-git-39cf45fd54247ca02554a2ecfedcbfbd996b9060.tar.gz |
After review fixes. Fix bugs in TRUNCATE.
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
Diffstat (limited to 'innobase/include/page0page.ic')
-rw-r--r-- | innobase/include/page0page.ic | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/innobase/include/page0page.ic b/innobase/include/page0page.ic index e3e93e9f756..ac6b0263a7d 100644 --- a/innobase/include/page0page.ic +++ b/innobase/include/page0page.ic @@ -788,12 +788,15 @@ page_mem_free( page_rec_set_next(rec, free); page_header_set_ptr(page, PAGE_FREE, rec); +#if 0 /* It's better not to destroy the user's data. */ + /* Clear the data bytes of the deleted record in order to improve the compression ratio of the page and to make it easier to read page dumps in corruption reports. The extra bytes of the record cannot be cleared, because page_mem_alloc() needs them in order to determine the size of the deleted record. */ memset(rec, 0, rec_offs_data_size(offsets)); +#endif garbage = page_header_get_field(page, PAGE_GARBAGE); |