summaryrefslogtreecommitdiff
path: root/innobase/trx/trx0undo.c
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-06-24 19:51:20 +0300
committerunknown <heikki@donna.mysql.fi>2001-06-24 19:51:20 +0300
commit5b6c96202b5300d92b49ec644113061b5f67d7c1 (patch)
tree9702eab7cad20638a3cfd22f738755fda4d57c82 /innobase/trx/trx0undo.c
parentecb14493f23019c7b59b78e2eaeb3ad168aaca77 (diff)
downloadmariadb-git-5b6c96202b5300d92b49ec644113061b5f67d7c1.tar.gz
sync0sync.c Do not use in-line assembly in GCC
srv0start.c Eliminate a deadlock of threads at startup row0mysql.c Several bug fixes row0umod.c Several bug fixes row0upd.c Several bug fixes os0file.c Revert back to fsync as default flush method log0recv.c Several bug fixes ibuf0ibuf.c Several bug fixes fsp0fsp.c Several bug fixes trx0undo.c Put some assertions to uncover possible bugs dict0boot.c Several bug fixes innobase/dict/dict0boot.c: Several bug fixes innobase/trx/trx0undo.c: Put some assertions to uncover possible bugs innobase/fsp/fsp0fsp.c: Several bug fixes innobase/ibuf/ibuf0ibuf.c: Several bug fixes innobase/log/log0recv.c: Several bug fixes innobase/os/os0file.c: Revert back to fsync as default flush method innobase/row/row0mysql.c: Several bug fixes innobase/row/row0umod.c: Several bug fixes innobase/row/row0upd.c: Several bug fixes innobase/srv/srv0start.c: Eliminate a deadlock of threads at startup innobase/sync/sync0sync.c: Do not use in-line assembly in GCC
Diffstat (limited to 'innobase/trx/trx0undo.c')
-rw-r--r--innobase/trx/trx0undo.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/innobase/trx/trx0undo.c b/innobase/trx/trx0undo.c
index efee02c4cad..1f408428582 100644
--- a/innobase/trx/trx0undo.c
+++ b/innobase/trx/trx0undo.c
@@ -613,6 +613,10 @@ trx_undo_insert_header_reuse(
/* Insert undo data is not needed after commit: we may free all
the space on the page */
+ ut_a(mach_read_from_2(undo_page + TRX_UNDO_PAGE_HDR
+ + TRX_UNDO_PAGE_TYPE)
+ == TRX_UNDO_INSERT);
+
mach_write_to_2(page_hdr + TRX_UNDO_PAGE_START, new_free);
mach_write_to_2(page_hdr + TRX_UNDO_PAGE_FREE, new_free);
@@ -800,7 +804,7 @@ trx_undo_free_page(
ulint hist_size;
UT_NOT_USED(hdr_offset);
- ut_ad(hdr_page_no != page_no);
+ ut_a(hdr_page_no != page_no);
ut_ad(!mutex_own(&kernel_mutex));
ut_ad(mutex_own(&(rseg->mutex)));
@@ -1411,6 +1415,10 @@ trx_undo_reuse_cached(
if (type == TRX_UNDO_INSERT) {
offset = trx_undo_insert_header_reuse(undo_page, trx_id, mtr);
} else {
+ ut_a(mach_read_from_2(undo_page + TRX_UNDO_PAGE_HDR
+ + TRX_UNDO_PAGE_TYPE)
+ == TRX_UNDO_UPDATE);
+
offset = trx_undo_header_create(undo_page, trx_id, mtr);
}