#include "univ.i"#include "mem0mem.h"#include "dyn0dyn.h"#include "buf0types.h"#include "sync0rw.h"#include "ut0byte.h"#include "mtr0types.h"#include "page0types.h"Include dependency graph for mtr0mtr.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
| #define MLOG_1BYTE (1) |
Definition at line 50 of file mtr0mtr.h.
Referenced by btr_cur_set_ownership_of_extern_field(), ibuf_bitmap_page_set_bits(), mlog_parse_nbytes(), mlog_write_ulint(), mtr_log_reserve_and_write(), mtr_read_ulint(), rec_set_nth_field_extern_bit_new(), recv_parse_or_apply_log_rec_body(), trx_undo_mark_as_dict_operation(), trx_undo_mem_create_at_db_start(), trx_undo_set_state_at_prepare(), xdes_get_bit(), and xdes_set_bit().
| #define MLOG_2BYTES (2) |
Definition at line 51 of file mtr0mtr.h.
Referenced by btr_set_min_rec_mark_log(), btr_store_big_rec_extern_fields(), fseg_create_general(), fsp_alloc_seg_inode_page(), fsp_fill_free_list(), fsp_header_init(), ibuf_add_free_page(), mlog_parse_nbytes(), mlog_write_ulint(), mtr_read_ulint(), rec_set_nth_field_extern_bit_old(), recv_parse_or_apply_log_rec_body(), trx_purge_add_update_undo_to_history(), trx_purge_free_segment(), trx_rseg_mem_create(), trx_sysf_create(), trx_undo_empty_header_page(), trx_undo_header_add_space_for_xid(), trx_undo_mem_create_at_db_start(), trx_undo_seg_create(), trx_undo_set_state_at_finish(), and trx_undo_set_state_at_prepare().
| #define MLOG_4BYTES (4) |
Definition at line 52 of file mtr0mtr.h.
Referenced by btr_free_externally_stored_field(), btr_node_ptr_set_child_page_no(), btr_store_big_rec_extern_fields(), dict_boot(), dict_drop_index_tree(), dict_hdr_create(), dict_truncate_index_tree(), flst_add_to_empty(), flst_cut_end(), flst_insert_after(), flst_insert_before(), flst_remove(), flst_truncate_end(), fseg_create_general(), fseg_free_extent(), fseg_free_page_low(), fseg_mark_page_used(), fseg_n_reserved_pages_low(), fseg_print_low(), fseg_set_nth_frag_page_no(), fseg_validate_low(), fsp_alloc_free_page(), fsp_fill_free_list(), fsp_free_page(), fsp_free_seg_inode(), fsp_get_available_space_in_free_extents(), fsp_header_get_free_limit(), fsp_header_get_tablespace_size(), fsp_header_inc_size(), fsp_header_init(), fsp_print(), fsp_reserve_free_extents(), fsp_try_extend_data_file(), fsp_try_extend_data_file_with_pages(), fsp_validate(), mlog_parse_nbytes(), mlog_write_ulint(), mtr_read_ulint(), page_rec_write_index_page_no(), recv_parse_or_apply_log_rec_body(), trx_purge_add_update_undo_to_history(), trx_purge_free_segment(), trx_rseg_header_create(), trx_rseg_mem_create(), trx_sys_create_doublewrite_buf(), trx_sys_mark_upgraded_to_multiple_tablespaces(), trx_sys_update_mysql_binlog_offset(), trx_undo_free_page(), trx_undo_write_xid(), xdes_get_descriptor_with_space_hdr(), xdes_get_state(), xdes_init(), and xdes_set_state().
| #define MLOG_8BYTES (8) |
Definition at line 53 of file mtr0mtr.h.
Referenced by mlog_parse_nbytes(), mlog_write_dulint(), mlog_write_initial_log_record(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_BIGGEST_TYPE ((byte)46) |
Definition at line 133 of file mtr0mtr.h.
Referenced by mlog_parse_initial_log_record(), and mlog_write_initial_log_record().
| #define MLOG_COMP_LIST_END_COPY_CREATED ((byte)45) |
Definition at line 128 of file mtr0mtr.h.
Referenced by page_copy_rec_list_to_created_page_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_LIST_END_DELETE ((byte)43) |
Definition at line 124 of file mtr0mtr.h.
Referenced by page_delete_rec_list_end(), page_delete_rec_list_write_log(), page_parse_delete_rec_list(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_LIST_START_DELETE ((byte)44) |
Definition at line 126 of file mtr0mtr.h.
Referenced by page_delete_rec_list_start(), page_delete_rec_list_write_log(), page_parse_delete_rec_list(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_PAGE_CREATE ((byte)37) |
Definition at line 108 of file mtr0mtr.h.
Referenced by page_create_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_PAGE_REORGANIZE ((byte)46) |
Definition at line 131 of file mtr0mtr.h.
Referenced by btr_page_reorganize_low(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_REC_CLUST_DELETE_MARK ((byte)39) |
Definition at line 111 of file mtr0mtr.h.
Referenced by btr_cur_del_mark_set_clust_rec_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_REC_DELETE ((byte)42) |
Definition at line 122 of file mtr0mtr.h.
Referenced by page_cur_delete_rec_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_REC_INSERT ((byte)38) |
Definition at line 110 of file mtr0mtr.h.
Referenced by page_cur_insert_rec_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_REC_MIN_MARK ((byte)36) |
Definition at line 105 of file mtr0mtr.h.
Referenced by btr_set_min_rec_mark_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_COMP_REC_SEC_DELETE_MARK ((byte)40) |
| #define MLOG_COMP_REC_UPDATE_IN_PLACE ((byte)41) |
Definition at line 120 of file mtr0mtr.h.
Referenced by btr_cur_update_in_place_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_DUMMY_RECORD ((byte)32) |
Definition at line 97 of file mtr0mtr.h.
Referenced by recv_parse_log_rec(), and recv_parse_log_recs().
| #define MLOG_FILE_CREATE ((byte)33) |
Definition at line 99 of file mtr0mtr.h.
Referenced by fil_create_new_single_table_tablespace(), fil_op_log_parse_or_replay(), recv_parse_log_recs(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_FILE_DELETE ((byte)35) |
Definition at line 103 of file mtr0mtr.h.
Referenced by fil_delete_tablespace(), fil_op_log_parse_or_replay(), recv_parse_log_recs(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_FILE_RENAME ((byte)34) |
Definition at line 101 of file mtr0mtr.h.
Referenced by fil_op_log_parse_or_replay(), fil_op_write_log(), fil_rename_tablespace(), recv_parse_log_recs(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_IBUF_BITMAP_INIT ((byte)27) |
Definition at line 83 of file mtr0mtr.h.
Referenced by ibuf_bitmap_page_init(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_INIT_FILE_PAGE ((byte)29) |
Definition at line 86 of file mtr0mtr.h.
Referenced by fsp_init_file_page(), recv_parse_or_apply_log_rec_body(), and recv_recover_page().
| #define MLOG_LIST_END_COPY_CREATED ((byte)17) |
Definition at line 67 of file mtr0mtr.h.
Referenced by page_copy_rec_list_to_created_page_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_LIST_END_DELETE ((byte)15) |
Definition at line 63 of file mtr0mtr.h.
Referenced by page_delete_rec_list_end(), page_delete_rec_list_write_log(), page_parse_delete_rec_list(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_LIST_START_DELETE ((byte)16) |
Definition at line 65 of file mtr0mtr.h.
Referenced by page_delete_rec_list_start(), page_delete_rec_list_write_log(), page_parse_delete_rec_list(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_MULTI_REC_END ((byte)31) |
Definition at line 93 of file mtr0mtr.h.
Referenced by mtr_log_reserve_and_write(), recv_parse_log_rec(), and recv_parse_log_recs().
| #define MLOG_PAGE_CREATE ((byte)19) |
Definition at line 70 of file mtr0mtr.h.
Referenced by page_create_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_PAGE_REORGANIZE ((byte)18) |
Definition at line 69 of file mtr0mtr.h.
Referenced by btr_page_reorganize_low(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_CLUST_DELETE_MARK ((byte)10) |
Definition at line 55 of file mtr0mtr.h.
Referenced by btr_cur_del_mark_set_clust_rec_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_DELETE ((byte)14) |
Definition at line 61 of file mtr0mtr.h.
Referenced by page_cur_delete_rec_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_INSERT ((byte)9) |
Definition at line 54 of file mtr0mtr.h.
Referenced by page_cur_insert_rec_write_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_MIN_MARK ((byte)26) |
Definition at line 81 of file mtr0mtr.h.
Referenced by btr_set_min_rec_mark_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_SEC_DELETE_MARK ((byte)11) |
Definition at line 57 of file mtr0mtr.h.
Referenced by btr_cur_del_mark_set_sec_rec_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_REC_UPDATE_IN_PLACE ((byte)13) |
Definition at line 59 of file mtr0mtr.h.
Referenced by btr_cur_update_in_place_log(), and recv_parse_or_apply_log_rec_body().
| #define MLOG_SINGLE_REC_FLAG 128 |
Definition at line 44 of file mtr0mtr.h.
Referenced by mlog_parse_initial_log_record(), mtr_log_reserve_and_write(), and recv_parse_log_recs().
| #define MLOG_UNDO_ERASE_END ((byte)21) |
Definition at line 73 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), and trx_undo_erase_page_end().
| #define MLOG_UNDO_HDR_CREATE ((byte)25) |
Definition at line 80 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), trx_undo_header_create_log(), and trx_undo_parse_page_header().
| #define MLOG_UNDO_HDR_DISCARD ((byte)23) |
Definition at line 76 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), and trx_undo_discard_latest_log().
| #define MLOG_UNDO_HDR_REUSE ((byte)24) |
Definition at line 78 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), trx_undo_insert_header_reuse_log(), and trx_undo_parse_page_header().
| #define MLOG_UNDO_INIT ((byte)22) |
Definition at line 74 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), and trx_undo_page_init_log().
| #define MLOG_UNDO_INSERT ((byte)20) |
Definition at line 71 of file mtr0mtr.h.
Referenced by recv_parse_or_apply_log_rec_body(), and trx_undof_page_add_undo_rec_log().
| #define MLOG_WRITE_STRING ((byte)30) |
Definition at line 92 of file mtr0mtr.h.
Referenced by mlog_write_string(), and recv_parse_or_apply_log_rec_body().
| #define MTR_ACTIVE 12231 |
Definition at line 336 of file mtr0mtr.h.
Referenced by mtr_commit(), mtr_memo_release(), mtr_read_dulint(), mtr_read_ulint(), and mtr_rollback_to_savepoint().
| #define MTR_COMMITTED 34676 |
| #define MTR_COMMITTING 56456 |
| #define MTR_LOG_ALL 21 |
| #define MTR_LOG_NONE 22 |
Definition at line 24 of file mtr0mtr.h.
Referenced by btr_page_reorganize_low(), mlog_catenate_string(), mtr_log_reserve_and_write(), page_delete_rec_list_start(), and recv_recover_page().
| #define MTR_LOG_SHORT_INSERTS 24 |
Definition at line 28 of file mtr0mtr.h.
Referenced by page_copy_rec_list_end_to_created_page(), and page_cur_insert_rec_write_log().
| #define MTR_MAGIC_N 54551 |
Definition at line 334 of file mtr0mtr.h.
Referenced by mtr_commit(), mtr_memo_pop_all(), mtr_memo_release(), and mtr_rollback_to_savepoint().
| #define MTR_MEMO_BUF_FIX RW_NO_LATCH |
Definition at line 35 of file mtr0mtr.h.
Referenced by buf_page_create(), buf_page_get_gen(), and mtr_memo_slot_release().
| #define MTR_MEMO_MODIFY 54 |
Definition at line 36 of file mtr0mtr.h.
Referenced by mtr_memo_slot_release(), and mtr_rollback_to_savepoint().
| #define MTR_MEMO_PAGE_S_FIX RW_S_LATCH |
Definition at line 33 of file mtr0mtr.h.
Referenced by btr_get_next_user_rec(), btr_get_prev_user_rec(), btr_pcur_store_position(), buf_page_get_gen(), buf_page_get_known_nowait(), buf_page_optimistic_get_func(), mtr_read_dulint(), mtr_read_ulint(), row_vers_build_for_consistent_read(), row_vers_build_for_semi_consistent_read(), row_vers_old_has_index_entry(), and trx_undo_prev_version_build().
| #define MTR_MEMO_PAGE_X_FIX RW_X_LATCH |
Definition at line 34 of file mtr0mtr.h.
Referenced by btr_attach_half_pages(), btr_compress(), btr_cur_compress(), btr_cur_compress_if_useful(), btr_cur_insert_if_possible(), btr_cur_optimistic_delete(), btr_cur_optimistic_insert(), btr_cur_optimistic_update(), btr_cur_pess_upd_restore_supremum(), btr_cur_pessimistic_delete(), btr_cur_pessimistic_insert(), btr_cur_pessimistic_update(), btr_discard_only_page_on_level(), btr_discard_page(), btr_free_externally_stored_field(), btr_get_next_user_rec(), btr_get_prev_user_rec(), btr_level_list_remove(), btr_lift_page_up(), btr_node_ptr_delete(), btr_page_create(), btr_page_empty(), btr_page_free(), btr_page_free_for_ibuf(), btr_page_free_low(), btr_page_reorganize_low(), btr_page_split_and_insert(), btr_pcur_store_position(), btr_rec_free_externally_stored_fields(), btr_rec_free_updated_extern_fields(), btr_root_raise_and_insert(), btr_store_big_rec_extern_fields(), buf_page_get_gen(), buf_page_get_known_nowait(), buf_page_optimistic_get_func(), flst_add_first(), flst_add_last(), flst_add_to_empty(), flst_cut_end(), flst_insert_after(), flst_insert_before(), flst_print(), flst_remove(), flst_truncate_end(), flst_validate(), fseg_get_nth_frag_page_no(), fseg_n_reserved_pages_low(), fseg_print_low(), fseg_set_nth_frag_page_no(), fseg_validate_low(), fsp_seg_inode_page_get_nth_inode(), ibuf_bitmap_page_get_bits(), ibuf_bitmap_page_set_bits(), mtr_memo_slot_release(), mtr_read_dulint(), mtr_read_ulint(), row_vers_build_for_consistent_read(), row_vers_build_for_semi_consistent_read(), row_vers_old_has_index_entry(), trx_undo_prev_version_build(), xdes_find_bit(), xdes_find_bit_downward(), xdes_get_bit(), xdes_get_n_used(), xdes_get_state(), xdes_init(), xdes_set_bit(), and xdes_set_state().
| #define MTR_MEMO_S_LOCK 55 |
| #define MTR_MEMO_X_LOCK 56 |
Definition at line 38 of file mtr0mtr.h.
Referenced by btr_compress(), btr_cur_compress(), btr_cur_compress_if_useful(), btr_cur_pessimistic_delete(), btr_cur_pessimistic_insert(), btr_cur_pessimistic_update(), btr_cur_search_to_nth_level(), btr_discard_page(), btr_free_externally_stored_field(), btr_page_get_father_for_rec(), btr_page_split_and_insert(), btr_root_raise_and_insert(), btr_store_big_rec_extern_fields(), fseg_alloc_free_page_general(), fseg_create_general(), fseg_free_page(), fseg_free_step(), fseg_free_step_not_header(), fseg_n_reserved_pages(), fsp_reserve_free_extents(), mtr_memo_slot_release(), trx_rseg_header_create(), xdes_get_descriptor_with_space_hdr(), and xdes_lst_get_descriptor().
| #define mtr_s_lock | ( | B, | |||
| MTR | ) |
Value:
mtr_s_lock_func((B), __FILE__, __LINE__,\ (MTR))
Definition at line 229 of file mtr0mtr.h.
Referenced by btr_cur_open_at_index_side(), btr_cur_open_at_rnd_pos(), btr_cur_search_to_nth_level(), btr_get_size(), row_vers_impl_x_locked_off_kernel(), row_vers_must_preserve_del_marked(), and row_vers_old_has_index_entry().
| #define mtr_x_lock | ( | B, | |||
| MTR | ) |
Value:
mtr_x_lock_func((B), __FILE__, __LINE__,\ (MTR))
Definition at line 233 of file mtr0mtr.h.
Referenced by btr_cur_open_at_index_side(), btr_cur_open_at_rnd_pos(), btr_cur_search_to_nth_level(), btr_validate_level(), btr_validate_tree(), fseg_alloc_free_page_general(), fseg_create_general(), fseg_free_page(), fseg_free_step(), fseg_free_step_not_header(), fseg_n_reserved_pages(), fseg_print(), fseg_validate(), fseg_validate_low(), fsp_get_available_space_in_free_extents(), fsp_header_get_free_limit(), fsp_header_get_tablespace_size(), fsp_header_inc_size(), fsp_header_init(), fsp_print(), fsp_reserve_free_extents(), fsp_validate(), ibuf_add_free_page(), ibuf_data_init_for_space(), ibuf_remove_free_page(), ibuf_tree_root_get(), row_purge_upd_exist_or_extern(), trx_rseg_create(), and trx_sysf_create().
| typedef struct mtr_memo_slot_struct mtr_memo_slot_t |
| void mtr_commit | ( | mtr_t * | mtr | ) |
Definition at line 168 of file mtr0mtr.c.
References dyn_array_free(), mtr_struct::log, log_release(), mtr_struct::magic_n, mtr_struct::memo, mtr_struct::modifications, MTR_ACTIVE, MTR_COMMITTED, MTR_COMMITTING, mtr_log_reserve_and_write(), MTR_MAGIC_N, mtr_memo_pop_all(), mtr_struct::state, and ut_ad.
Referenced by btr_copy_externally_stored_field(), btr_estimate_n_rows_in_range(), btr_estimate_number_of_different_key_vals(), btr_free_but_not_root(), btr_free_externally_stored_field(), btr_get_size(), btr_pcur_move_backward_from_page(), btr_search_drop_page_hash_when_freed(), btr_store_big_rec_extern_fields(), btr_validate_level(), btr_validate_tree(), buf_page_init_for_read(), dict_boot(), dict_build_table_def_step(), dict_check_tablespaces_and_store_max_id(), dict_create(), dict_create_index_tree_step(), dict_get_first_table_name_in_db(), dict_hdr_flush_row_id(), dict_hdr_get_new_id(), dict_load_columns(), dict_load_fields(), dict_load_foreign(), dict_load_foreign_cols(), dict_load_foreigns(), dict_load_indexes(), dict_load_table(), dict_load_table_on_id(), dict_print(), dict_truncate_index_tree(), fil_create_new_single_table_tablespace(), fil_delete_tablespace(), fil_rename_tablespace(), flst_validate(), fseg_free(), fseg_validate_low(), fsp_fill_free_list(), fsp_get_available_space_in_free_extents(), fsp_header_get_free_limit(), fsp_header_get_tablespace_size(), fsp_print(), fsp_validate(), ibuf_add_free_page(), ibuf_data_init_for_space(), ibuf_delete_for_discarded_space(), ibuf_insert_low(), ibuf_is_empty(), ibuf_merge_or_delete_for_page(), ibuf_page(), ibuf_remove_free_page(), ibuf_set_free_bits(), ibuf_update_max_tablespace_id(), innobase_start_or_create_for_mysql(), lock_print_info_all_transactions(), lock_rec_print(), lock_rec_validate_page(), recv_apply_hashed_log_recs(), recv_recover_page(), row_ins_index_entry_low(), row_ins_scan_sec_index_for_duplicate(), row_purge_remove_sec_if_poss_low(), row_purge_upd_exist_or_extern(), row_search_for_mysql(), row_sel(), row_truncate_table_for_mysql(), row_undo_ins_remove_clust_rec(), row_undo_ins_remove_sec_low(), row_undo_mod_del_mark_or_remove_sec_low(), row_undo_mod_del_unmark_sec_and_undo_update(), row_unlock_for_mysql(), row_upd_check_references_constraints(), row_upd_clust_rec(), row_upd_clust_rec_by_insert(), row_upd_clust_step(), row_upd_del_mark_clust_rec(), row_upd_sec_index_entry(), row_vers_impl_x_locked_off_kernel(), trx_commit_off_kernel(), trx_prepare_off_kernel(), trx_purge_choose_next_log(), trx_purge_free_segment(), trx_purge_get_next_rec(), trx_purge_rseg_get_next_history_log(), trx_purge_truncate_rseg_history(), trx_roll_pop_top_rec_of_trx(), trx_sys_create(), trx_sys_create_doublewrite_buf(), trx_sys_flush_max_trx_id(), trx_sys_mark_upgraded_to_multiple_tablespaces(), trx_sys_print_mysql_binlog_offset(), trx_sys_print_mysql_master_log_pos(), trx_undo_assign_undo(), trx_undo_get_undo_rec_low(), trx_undo_lists_init(), trx_undo_report_row_operation(), trx_undo_seg_free(), trx_undo_truncate_end(), and trx_undo_truncate_start().
00170 : mini-transaction */ 00171 { 00172 ut_ad(mtr); 00173 ut_ad(mtr->magic_n == MTR_MAGIC_N); 00174 ut_ad(mtr->state == MTR_ACTIVE); 00175 #ifdef UNIV_DEBUG 00176 mtr->state = MTR_COMMITTING; 00177 #endif 00178 if (mtr->modifications) { 00179 mtr_log_reserve_and_write(mtr); 00180 } 00181 00182 /* We first update the modification info to buffer pages, and only 00183 after that release the log mutex: this guarantees that when the log 00184 mutex is free, all buffer pages contain an up-to-date info of their 00185 modifications. This fact is used in making a checkpoint when we look 00186 at the oldest modification of any page in the buffer pool. It is also 00187 required when we insert modified buffer pages in to the flush list 00188 which must be sorted on oldest_modification. */ 00189 00190 mtr_memo_pop_all(mtr); 00191 00192 if (mtr->modifications) { 00193 log_release(); 00194 } 00195 00196 #ifdef UNIV_DEBUG 00197 mtr->state = MTR_COMMITTED; 00198 #endif 00199 dyn_array_free(&(mtr->memo)); 00200 dyn_array_free(&(mtr->log)); 00201 }
Here is the call graph for this function:

Here is the caller graph for this function:

| UNIV_INLINE dyn_array_t* mtr_get_log | ( | mtr_t * | mtr | ) |
Referenced by mlog_catenate_string(), and page_cur_insert_rec_write_log().
Here is the caller graph for this function:

Referenced by btr_attach_half_pages(), btr_compress(), btr_cur_compress(), btr_cur_compress_if_useful(), btr_cur_insert_if_possible(), btr_cur_optimistic_delete(), btr_cur_optimistic_insert(), btr_cur_optimistic_update(), btr_cur_pess_upd_restore_supremum(), btr_cur_pessimistic_delete(), btr_cur_pessimistic_insert(), btr_cur_pessimistic_update(), btr_cur_search_to_nth_level(), btr_discard_only_page_on_level(), btr_discard_page(), btr_free_externally_stored_field(), btr_get_next_user_rec(), btr_get_prev_user_rec(), btr_level_list_remove(), btr_lift_page_up(), btr_node_ptr_delete(), btr_page_create(), btr_page_empty(), btr_page_free(), btr_page_free_for_ibuf(), btr_page_free_low(), btr_page_get_father_for_rec(), btr_page_reorganize_low(), btr_page_split_and_insert(), btr_pcur_store_position(), btr_rec_free_externally_stored_fields(), btr_rec_free_updated_extern_fields(), btr_root_raise_and_insert(), btr_store_big_rec_extern_fields(), flst_add_first(), flst_add_last(), flst_add_to_empty(), flst_cut_end(), flst_insert_after(), flst_insert_before(), flst_print(), flst_remove(), flst_truncate_end(), flst_validate(), fseg_alloc_free_page_general(), fseg_create_general(), fseg_free_page(), fseg_free_step(), fseg_free_step_not_header(), fseg_get_nth_frag_page_no(), fseg_n_reserved_pages(), fseg_n_reserved_pages_low(), fseg_print_low(), fseg_set_nth_frag_page_no(), fseg_validate_low(), fsp_reserve_free_extents(), fsp_seg_inode_page_get_nth_inode(), ibuf_bitmap_page_get_bits(), ibuf_bitmap_page_set_bits(), mtr_memo_slot_release(), mtr_read_dulint(), mtr_read_ulint(), row_vers_build_for_consistent_read(), row_vers_build_for_semi_consistent_read(), row_vers_old_has_index_entry(), trx_rseg_header_create(), trx_undo_prev_version_build(), xdes_find_bit(), xdes_find_bit_downward(), xdes_get_bit(), xdes_get_descriptor_with_space_hdr(), xdes_get_n_used(), xdes_get_state(), xdes_init(), xdes_lst_get_descriptor(), xdes_set_bit(), and xdes_set_state().
Here is the caller graph for this function:

Referenced by buf_page_create(), buf_page_get_known_nowait(), and buf_page_optimistic_get_func().
Here is the caller graph for this function:

Definition at line 241 of file mtr0mtr.c.
References dyn_array_get_data_size(), dyn_array_get_element(), mtr_struct::magic_n, mtr_struct::memo, MTR_ACTIVE, MTR_MAGIC_N, mtr_memo_slot_release(), mtr_memo_slot_struct::object, offset, mtr_struct::state, mtr_memo_slot_struct::type, and ut_ad.
Referenced by btr_page_split_and_insert().
00243 : mtr */ 00244 void* object, /* in: object */ 00245 ulint type) /* in: object type: MTR_MEMO_S_LOCK, ... */ 00246 { 00247 mtr_memo_slot_t* slot; 00248 dyn_array_t* memo; 00249 ulint offset; 00250 00251 ut_ad(mtr); 00252 ut_ad(mtr->magic_n == MTR_MAGIC_N); 00253 ut_ad(mtr->state == MTR_ACTIVE); 00254 00255 memo = &(mtr->memo); 00256 00257 offset = dyn_array_get_data_size(memo); 00258 00259 while (offset > 0) { 00260 offset -= sizeof(mtr_memo_slot_t); 00261 00262 slot = dyn_array_get_element(memo, offset); 00263 00264 if ((object == slot->object) && (type == slot->type)) { 00265 00266 mtr_memo_slot_release(mtr, slot); 00267 00268 break; 00269 } 00270 } 00271 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void mtr_print | ( | mtr_t * | mtr | ) |
Definition at line 324 of file mtr0mtr.c.
References dyn_array_get_data_size(), mtr_struct::log, and mtr_struct::memo.
00326 : mtr */ 00327 { 00328 fprintf(stderr, 00329 "Mini-transaction handle: memo size %lu bytes log size %lu bytes\n", 00330 (ulong) dyn_array_get_data_size(&(mtr->memo)), 00331 (ulong) dyn_array_get_data_size(&(mtr->log))); 00332 }
Here is the call graph for this function:

Referenced by dict_boot(), dict_hdr_get_new_id(), fseg_alloc_free_extent(), fseg_alloc_free_page_low(), fseg_create_general(), fseg_fill_free_list(), fseg_free_extent(), fseg_free_page_low(), fseg_print_low(), fseg_validate_low(), fsp_print(), trx_rseg_mem_create(), trx_sys_init_at_db_start(), and trx_undo_mem_create_at_db_start().
Here is the caller graph for this function:

Referenced by dict_boot(), dict_drop_index_tree(), dict_truncate_index_tree(), fseg_free_extent(), fseg_free_page_low(), fseg_mark_page_used(), fseg_n_reserved_pages_low(), fseg_print_low(), fseg_validate_low(), fsp_alloc_free_page(), fsp_fill_free_list(), fsp_free_page(), fsp_get_available_space_in_free_extents(), fsp_header_get_free_limit(), fsp_header_get_tablespace_size(), fsp_header_inc_size(), fsp_print(), fsp_reserve_free_extents(), fsp_try_extend_data_file(), fsp_try_extend_data_file_with_pages(), fsp_validate(), trx_purge_add_update_undo_to_history(), trx_purge_free_segment(), trx_rseg_mem_create(), trx_undo_free_page(), trx_undo_mem_create_at_db_start(), xdes_get_bit(), xdes_get_descriptor_with_space_hdr(), xdes_get_state(), and xdes_set_bit().
Here is the caller graph for this function:

| UNIV_INLINE void mtr_release_s_latch_at_savepoint | ( | mtr_t * | mtr, | |
| ulint | savepoint, | |||
| rw_lock_t * | lock | |||
| ) |
Referenced by btr_cur_open_at_index_side(), and btr_cur_search_to_nth_level().
Here is the caller graph for this function:

Definition at line 209 of file mtr0mtr.c.
References dyn_array_get_data_size(), dyn_array_get_element(), mtr_struct::magic_n, mtr_struct::memo, MTR_ACTIVE, MTR_MAGIC_N, MTR_MEMO_MODIFY, mtr_memo_slot_release(), offset, mtr_struct::state, mtr_memo_slot_struct::type, and ut_ad.
00211 : mtr */ 00212 ulint savepoint) /* in: savepoint */ 00213 { 00214 mtr_memo_slot_t* slot; 00215 dyn_array_t* memo; 00216 ulint offset; 00217 00218 ut_ad(mtr); 00219 ut_ad(mtr->magic_n == MTR_MAGIC_N); 00220 ut_ad(mtr->state == MTR_ACTIVE); 00221 00222 memo = &(mtr->memo); 00223 00224 offset = dyn_array_get_data_size(memo); 00225 ut_ad(offset >= savepoint); 00226 00227 while (offset > savepoint) { 00228 offset -= sizeof(mtr_memo_slot_t); 00229 00230 slot = dyn_array_get_element(memo, offset); 00231 00232 ut_ad(slot->type != MTR_MEMO_MODIFY); 00233 mtr_memo_slot_release(mtr, slot); 00234 } 00235 }
Here is the call graph for this function:

Referenced by btr_page_reorganize_low(), page_copy_rec_list_end_to_created_page(), page_delete_rec_list_start(), and recv_recover_page().
Here is the caller graph for this function:

Referenced by btr_cur_open_at_index_side(), and btr_cur_search_to_nth_level().
Here is the caller graph for this function:

Referenced by btr_copy_externally_stored_field(), btr_estimate_n_rows_in_range(), btr_estimate_number_of_different_key_vals(), btr_free_but_not_root(), btr_free_externally_stored_field(), btr_get_size(), btr_pcur_move_backward_from_page(), btr_search_drop_page_hash_when_freed(), btr_store_big_rec_extern_fields(), btr_validate_level(), btr_validate_tree(), buf_page_init_for_read(), dict_boot(), dict_build_table_def_step(), dict_check_tablespaces_and_store_max_id(), dict_create(), dict_create_index_tree_step(), dict_get_first_table_name_in_db(), dict_hdr_flush_row_id(), dict_hdr_get_new_id(), dict_load_columns(), dict_load_fields(), dict_load_foreign(), dict_load_foreign_cols(), dict_load_foreigns(), dict_load_indexes(), dict_load_table(), dict_load_table_on_id(), dict_print(), dict_truncate_index_tree(), fil_create_new_single_table_tablespace(), fil_delete_tablespace(), fil_rename_tablespace(), flst_validate(), fseg_free(), fseg_validate_low(), fsp_fill_free_list(), fsp_get_available_space_in_free_extents(), fsp_header_get_free_limit(), fsp_header_get_tablespace_size(), fsp_print(), fsp_validate(), ibuf_add_free_page(), ibuf_data_init_for_space(), ibuf_delete_for_discarded_space(), ibuf_delete_rec(), ibuf_insert_low(), ibuf_is_empty(), ibuf_merge_or_delete_for_page(), ibuf_page(), ibuf_remove_free_page(), ibuf_set_free_bits(), ibuf_update_max_tablespace_id(), innobase_start_or_create_for_mysql(), lock_print_info_all_transactions(), lock_rec_print(), lock_rec_validate_page(), mtr_start_noninline(), recv_apply_hashed_log_recs(), recv_recover_page(), row_ins_index_entry_low(), row_ins_scan_sec_index_for_duplicate(), row_purge_remove_clust_if_poss_low(), row_purge_remove_sec_if_poss_low(), row_purge_upd_exist_or_extern(), row_search_for_mysql(), row_sel(), row_truncate_table_for_mysql(), row_undo_ins_remove_clust_rec(), row_undo_ins_remove_sec_low(), row_undo_mod_clust(), row_undo_mod_del_mark_or_remove_sec_low(), row_undo_mod_del_unmark_sec_and_undo_update(), row_undo_search_clust_to_pcur(), row_unlock_for_mysql(), row_upd_check_references_constraints(), row_upd_clust_rec(), row_upd_clust_step(), row_upd_sec_index_entry(), row_vers_impl_x_locked_off_kernel(), trx_commit_off_kernel(), trx_prepare_off_kernel(), trx_purge_choose_next_log(), trx_purge_free_segment(), trx_purge_get_next_rec(), trx_purge_rseg_get_next_history_log(), trx_purge_truncate_rseg_history(), trx_roll_pop_top_rec_of_trx(), trx_sys_create(), trx_sys_create_doublewrite_buf(), trx_sys_flush_max_trx_id(), trx_sys_init_at_db_start(), trx_sys_mark_upgraded_to_multiple_tablespaces(), trx_sys_print_mysql_binlog_offset(), trx_sys_print_mysql_master_log_pos(), trx_undo_assign_undo(), trx_undo_get_undo_rec_low(), trx_undo_lists_init(), trx_undo_report_row_operation(), trx_undo_seg_free(), trx_undo_truncate_end(), and trx_undo_truncate_start().
Here is the caller graph for this function:

1.4.7

