diff options
author | Sunny Bains <Sunny.Bains@Oracle.Com> | 2010-07-22 14:46:12 +1000 |
---|---|---|
committer | Sunny Bains <Sunny.Bains@Oracle.Com> | 2010-07-22 14:46:12 +1000 |
commit | 424250c26c495418736f0de8c451b81f65fac2fc (patch) | |
tree | 0688efc5be4a9c7003c28db898e5f872a1629b34 /storage/innobase/mtr | |
parent | e27f4b3a4ba91a62d7b196b7484fe296e1d927a9 (diff) | |
download | mariadb-git-424250c26c495418736f0de8c451b81f65fac2fc.tar.gz |
Remove code that was added during the flush list mutex refactoring. We cannot
release a dirty page in the middle of a mini-transaction. Replace the code
with an assertion that checks for this condition.
Original svn revision was: r6330.
Diffstat (limited to 'storage/innobase/mtr')
-rw-r--r-- | storage/innobase/mtr/mtr0mtr.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/storage/innobase/mtr/mtr0mtr.c b/storage/innobase/mtr/mtr0mtr.c index b38c5b0d63c..74d04a22b86 100644 --- a/storage/innobase/mtr/mtr0mtr.c +++ b/storage/innobase/mtr/mtr0mtr.c @@ -337,9 +337,12 @@ mtr_memo_release( slot = dyn_array_get_element(memo, offset); if (object == slot->object && type == slot->type) { - if (mtr->modifications) { - mtr_memo_slot_note_modification(mtr, slot); - } + + /* We cannot release a page that has been written + to in the middle of a mini-transaction. */ + + ut_ad(!(mtr->modifications + && slot->type == MTR_MEMO_PAGE_X_FIX)); mtr_memo_slot_release(mtr, slot); |