38 #ifndef UNIV_HOTBACKUP
44 mtr_memo_slot_release(
62 if (UNIV_LIKELY(
object != NULL)) {
63 if (type <= MTR_MEMO_BUF_FIX) {
65 }
else if (type == MTR_MEMO_S_LOCK) {
68 }
else if (type != MTR_MEMO_X_LOCK) {
69 ut_ad(type == MTR_MEMO_MODIFY);
70 ut_ad(mtr_memo_contains(mtr,
object,
71 MTR_MEMO_PAGE_X_FIX));
96 ut_ad(mtr->magic_n == MTR_MAGIC_N);
97 ut_ad(mtr->state == MTR_COMMITTING);
107 mtr_memo_slot_release(mtr, slot);
115 mtr_memo_slot_note_modification(
121 ut_ad(mtr->magic_n == MTR_MAGIC_N);
122 ut_ad(mtr->modifications);
124 if (slot->
object != NULL && slot->
type == MTR_MEMO_PAGE_X_FIX) {
143 mtr_memo_note_modifications(
151 ut_ad(mtr->magic_n == MTR_MAGIC_N);
152 ut_ad(mtr->state == MTR_COMMITTING);
164 mtr_memo_slot_note_modification(mtr, slot);
172 mtr_log_reserve_and_write(
187 if (mtr->n_log_recs > 1) {
190 *first_data = (byte)((ulint)*first_data
194 if (mlog->
heap == NULL) {
211 if (mtr->log_mode == MTR_LOG_ALL) {
215 while (block != NULL) {
221 ut_ad(mtr->log_mode == MTR_LOG_NONE);
235 if (mtr->modifications) {
236 mtr_memo_note_modifications(mtr);
252 ut_ad(mtr->magic_n == MTR_MAGIC_N);
253 ut_ad(mtr->state == MTR_ACTIVE);
254 ut_d(mtr->state = MTR_COMMITTING);
256 #ifndef UNIV_HOTBACKUP
258 ut_ad(!recv_no_log_write);
260 if (mtr->modifications && mtr->n_log_recs) {
261 mtr_log_reserve_and_write(mtr);
264 mtr_memo_pop_all(mtr);
267 ut_d(mtr->state = MTR_COMMITTED);
272 #ifndef UNIV_HOTBACKUP
289 ut_ad(mtr->magic_n == MTR_MAGIC_N);
290 ut_ad(mtr->state == MTR_ACTIVE);
295 ut_ad(offset >= savepoint);
297 while (offset > savepoint) {
307 mtr_memo_slot_release(mtr, slot);
326 ut_ad(mtr->magic_n == MTR_MAGIC_N);
327 ut_ad(mtr->state == MTR_ACTIVE);
339 if (
object == slot->
object && type == slot->
type) {
344 ut_ad(!(mtr->modifications
345 && slot->
type == MTR_MEMO_PAGE_X_FIX));
347 mtr_memo_slot_release(mtr, slot);
368 ut_ad(mtr->state == MTR_ACTIVE);
369 ut_ad(mtr_memo_contains_page(mtr, ptr, MTR_MEMO_PAGE_S_FIX)
370 || mtr_memo_contains_page(mtr, ptr, MTR_MEMO_PAGE_X_FIX));
382 # ifndef UNIV_HOTBACKUP
388 mtr_memo_contains_page(
394 return(mtr_memo_contains(mtr, buf_block_align(ptr), type));
406 "Mini-transaction handle: memo size %lu bytes"
407 " log size %lu bytes\n",