#include "univ.i"Go to the source code of this file.
Macros | |
| #define | ut0lst_h |
| #define | UT_LIST_BASE_NODE_T(TYPE) int |
| #define | UT_LIST_NODE_T(TYPE) |
| #define | UT_LIST_INIT(BASE) |
| #define | UT_LIST_ADD_FIRST(NAME, BASE, N) |
| #define | UT_LIST_ADD_LAST(NAME, BASE, N) |
| #define | UT_LIST_INSERT_AFTER(NAME, BASE, NODE1, NODE2) |
| #define | UT_LIST_REMOVE_CLEAR(NAME, N) |
| #define | UT_LIST_REMOVE(NAME, BASE, N) |
| #define | UT_LIST_GET_NEXT(NAME, N) (((N)->NAME).next) |
| #define | UT_LIST_GET_PREV(NAME, N) (((N)->NAME).prev) |
| #define | UT_LIST_GET_LEN(BASE) (BASE).count |
| #define | UT_LIST_GET_FIRST(BASE) (BASE).start |
| #define | UT_LIST_GET_LAST(BASE) (BASE= NULL) |
| #define | UT_LIST_VALIDATE(NAME, TYPE, BASE, ASSERTION) |
| #define UT_LIST_ADD_FIRST | ( | NAME, | |
| BASE, | |||
| N | |||
| ) |
Adds the node as the first element in a two-way linked list.
| NAME | list name |
| BASE | the base node (not a pointer to it) |
| N | pointer to the node to be added to the list. |
Definition at line 96 of file ut0lst.h.
Referenced by buf_flush_relocate_on_flush_list(), buf_LRU_block_free_non_file_page(), buf_LRU_insert_zip_clean(), buf_relocate(), buf_unzip_LRU_add_block(), dict_table_add_to_cache(), mem_area_free(), mem_pool_create(), mutex_create_func(), os_event_create(), os_mutex_create(), que_thr_stop(), read_cursor_view_create_for_mysql(), read_view_open_now(), rw_lock_create_func(), trx_allocate_for_mysql(), trx_start_low(), trx_undo_assign_undo(), trx_undo_insert_cleanup(), trx_undo_update_cleanup(), and ut_malloc_low().
| #define UT_LIST_ADD_LAST | ( | NAME, | |
| BASE, | |||
| N | |||
| ) |
Adds the node as the last element in a two-way linked list.
| NAME | list name |
| BASE | the base node (not a pointer to it) |
| N | pointer to the node to be added to the list |
Definition at line 118 of file ut0lst.h.
Referenced by buf_unzip_LRU_add_block(), dict_foreign_add_to_cache(), dict_index_add_to_cache(), fil_node_create(), fil_space_create(), ins_node_create_entry_list(), lock_move_reorganize_page(), log_group_init(), opt_find_all_cols(), que_graph_publish(), que_thr_create(), read_view_oldest_copy_or_open_new(), srv_conc_enter_innodb(), srv_que_task_enqueue_low(), sym_tab_add_bound_id(), sym_tab_add_bound_lit(), sym_tab_add_id(), sym_tab_add_int_lit(), sym_tab_add_null_lit(), sym_tab_add_str_lit(), trx_savepoint_for_mysql(), and trx_sig_send().
| #define UT_LIST_BASE_NODE_T | ( | TYPE | ) | int |
This macro expands to the unnamed type definition of a struct which acts as the two-way list base node. The base node contains pointers to both ends of the list and a count of nodes in the list (excluding the base node from the count).
| TYPE | the name of the list node data type |
| #define UT_LIST_GET_FIRST | ( | BASE | ) | (BASE).start |
Gets the first node in a two-way list.
| BASE | the base node (not a pointer to it) |
Definition at line 223 of file ut0lst.h.
Referenced by buf_LRU_get_free_only(), ha_innobase::can_switch_engines(), dict_check_tablespaces_and_store_max_id(), dict_create_add_foreigns_to_dictionary(), dict_foreign_parse_drop_constraints(), dict_get_first_table_name_in_db(), dict_index_find_on_id_low(), dict_load_table(), dict_print_info_on_foreign_keys(), dict_startscan_system(), dict_table_get_foreign_constraint(), dict_table_get_referenced_constraint(), dict_table_print_low(), dict_table_remove_from_cache(), dict_table_rename_in_cache(), dict_table_replace_index_in_foreign_list(), dict_truncate_index_tree(), fil_close_all_files(), fil_delete_tablespace(), fil_flush(), fil_flush_file_spaces(), fil_io(), fil_is_exist(), fil_open_log_and_system_tablespace_files(), fil_rename_tablespace(), fil_space_get_flags(), fil_space_get_size(), fil_validate(), fil_write_flushed_lsn_to_data_files(), ha_innobase::get_foreign_key_list(), innodb_mutex_show_status(), lock_get_src_table(), lock_is_table_exclusive(), lock_move_reorganize_page(), lock_number_of_rows_locked(), lock_print_info_all_transactions(), lock_remove_all_on_table(), log_groups_write_checkpoint_info(), log_write_up_to(), logs_empty_and_mark_files_at_shutdown(), mem_area_alloc(), mem_pool_validate(), mutex_create_func(), mutex_free_func(), opt_find_all_cols(), os_sync_free(), pars_sql(), que_fork_error_handle(), que_fork_start_command(), que_graph_free_recursive(), read_cursor_view_create_for_mysql(), read_view_open_now(), recv_recover_page_func(), recv_recovery_from_checkpoint_start_func(), recv_reset_logs(), row_discard_tablespace_for_mysql(), row_drop_table_for_mysql(), row_drop_tables_for_mysql_in_background(), row_ins_index_entry(), row_sel_step(), row_truncate_table_for_mysql(), rw_lock_create_func(), srv_conc_enter_innodb(), srv_conc_force_exit_innodb(), srv_master_thread(), sym_tab_free_private(), sync_close(), trx_end_lock_wait(), trx_finish_rollback_off_kernel(), trx_get_trx_by_xid(), trx_in_trx_list(), trx_lists_init_at_db_start(), trx_recover_for_mysql(), trx_release_savepoint_for_mysql(), trx_roll_savepoints_free(), trx_rollback_or_clean_recovered(), trx_rollback_to_savepoint_for_mysql(), trx_rseg_get_on_id(), trx_rseg_mem_free(), trx_savepoint_for_mysql(), trx_sig_send(), trx_sig_start_handle(), trx_sys_close(), trx_sys_init_at_db_start(), and ut_free_all_mem().
| #define UT_LIST_GET_LAST | ( | BASE | ) | (BASE= NULL) |
Gets the last node in a two-way list.
| BASE | the base node (not a pointer to it) |
Definition at line 234 of file ut0lst.h.
Referenced by buf_LRU_file_dump(), buf_pool_get_oldest_modification(), dict_table_remove_from_cache(), dict_table_rename_in_cache(), fil_extend_space_to_desired_size(), lock_release_off_kernel(), read_view_oldest_copy_or_open_new(), and trx_purge().
| #define UT_LIST_GET_LEN | ( | BASE | ) | (BASE).count |
Alternative macro to get the number of nodes in a two-way list, i.e., its length.
| BASE | the base node (not a pointer to it). |
Definition at line 216 of file ut0lst.h.
Referenced by buf_get_total_list_len(), buf_LRU_buf_pool_running_out(), buf_LRU_free_block(), buf_LRU_get_free_block(), dict_create_or_check_foreign_constraint_tables(), dict_index_add_to_cache(), dict_table_is_referenced_by_foreign_key(), dict_table_print_low(), fil_close(), fil_delete_tablespace(), fil_flush_file_spaces(), fil_rename_tablespace(), fil_space_get_flags(), fil_space_get_size(), ha_print_info(), ha_innobase::info(), innobase_build_index_translation(), lock_get_src_table(), logs_empty_and_mark_files_at_shutdown(), mem_area_alloc(), mem_pool_print_info(), mutex_create_func(), mutex_free_func(), opt_print_query_plan(), que_fork_error_handle(), que_thr_stop(), read_cursor_view_create_for_mysql(), read_view_open_now(), row_drop_tables_for_mysql_in_background(), row_get_background_drop_list_len_low(), row_search_check_if_query_cache_permitted(), sess_close(), srv_master_thread(), srv_printf_innodb_monitor(), trx_commit_off_kernel(), trx_free(), trx_print(), trx_roll_savepoint_free(), trx_rseg_mem_free(), trx_sig_send(), trx_sig_start_handle(), trx_sys_close(), trx_sys_init_at_db_start(), and trx_weight_ge().
| #define UT_LIST_GET_NEXT | ( | NAME, | |
| N | |||
| ) | (((N)->NAME).next) |
Gets the next node in a two-way list.
| NAME | list name |
| N | pointer to a node |
Definition at line 200 of file ut0lst.h.
Referenced by buf_LRU_free_block(), buf_LRU_insert_zip_clean(), buf_relocate(), dict_create_add_foreigns_to_dictionary(), dict_foreign_parse_drop_constraints(), dict_index_find_on_id_low(), dict_print_info_on_foreign_keys(), dict_table_get_foreign_constraint(), dict_table_get_referenced_constraint(), dict_table_print_low(), dict_table_remove_from_cache(), dict_table_rename_in_cache(), dict_table_replace_index_in_foreign_list(), dict_truncate_index_tree(), fil_close_all_files(), fil_flush(), fil_flush_file_spaces(), fil_io(), fil_is_exist(), fil_open_log_and_system_tablespace_files(), fil_validate(), fil_write_flushed_lsn_to_data_files(), ha_innobase::get_foreign_key_list(), innodb_mutex_show_status(), lock_get_src_table(), lock_is_table_exclusive(), lock_move_reorganize_page(), lock_number_of_rows_locked(), lock_print_info_all_transactions(), lock_remove_all_on_table(), log_groups_write_checkpoint_info(), log_write_up_to(), mem_pool_validate(), mutex_free_func(), opt_find_all_cols(), pars_sql(), que_fork_error_handle(), que_fork_start_command(), que_graph_free_recursive(), read_cursor_view_create_for_mysql(), read_view_open_now(), recv_recover_page_func(), recv_recovery_from_checkpoint_start_func(), recv_reset_logs(), row_discard_tablespace_for_mysql(), row_drop_table_for_mysql(), row_truncate_table_for_mysql(), rw_lock_free_func(), srv_conc_force_exit_innodb(), srv_master_thread(), sym_tab_free_private(), sync_close(), trx_finish_rollback_off_kernel(), trx_get_trx_by_xid(), trx_in_trx_list(), trx_lists_init_at_db_start(), trx_recover_for_mysql(), trx_release_savepoint_for_mysql(), trx_roll_savepoints_free(), trx_rollback_or_clean_recovered(), trx_rollback_to_savepoint_for_mysql(), trx_rseg_get_on_id(), trx_rseg_mem_free(), trx_savepoint_for_mysql(), trx_sys_close(), and trx_sys_init_at_db_start().
| #define UT_LIST_GET_PREV | ( | NAME, | |
| N | |||
| ) | (((N)->NAME).prev) |
Gets the previous node in a two-way list.
| NAME | list name |
| N | pointer to a node |
Definition at line 208 of file ut0lst.h.
Referenced by buf_flush_relocate_on_flush_list(), buf_LRU_file_dump(), buf_LRU_free_block(), buf_LRU_insert_zip_clean(), buf_relocate(), lock_queue_iterator_get_prev(), lock_remove_all_on_table(), mutex_free_func(), and rw_lock_free_func().
| #define UT_LIST_INIT | ( | BASE | ) |
Initializes the base node of a two-way list.
| BASE | the list base node |
Definition at line 83 of file ut0lst.h.
Referenced by dict_init(), dict_table_rename_in_cache(), fil_init(), fil_space_create(), ins_node_create_entry_list(), lock_move_reorganize_page(), log_init(), mem_init(), mem_pool_create(), os_sync_init(), pars_select_statement(), pars_update_statement(), que_fork_create(), row_create_update_node_for_mysql(), row_drop_tables_for_mysql_in_background(), row_get_background_drop_list_len_low(), rw_lock_create_func(), sess_open(), srv_init(), sym_tab_create(), sync_init(), trx_create(), trx_lists_init_at_db_start(), trx_rseg_list_and_array_init(), trx_sys_init_at_db_start(), trx_undo_lists_init(), and ut_mem_init().
| #define UT_LIST_INSERT_AFTER | ( | NAME, | |
| BASE, | |||
| NODE1, | |||
| NODE2 | |||
| ) |
Inserts a NODE2 after NODE1 in a list.
| NAME | list name |
| BASE | the base node (not a pointer to it) |
| NODE1 | pointer to node after which NODE2 is inserted |
| NODE2 | pointer to node being inserted after NODE1 |
Definition at line 141 of file ut0lst.h.
Referenced by buf_flush_relocate_on_flush_list(), buf_LRU_free_block(), buf_LRU_insert_zip_clean(), and buf_relocate().
| #define UT_LIST_NODE_T | ( | TYPE | ) |
This macro expands to the unnamed type definition of a struct which should be embedded in the nodes of the list, the node type must be a struct. This struct contains the pointers to next and previous nodes in the list. The name of the field in the node struct should be the name given to the list.
| TYPE | the list node type name |
| #define UT_LIST_REMOVE | ( | NAME, | |
| BASE, | |||
| N | |||
| ) |
Removes a node from a two-way linked list.
| NAME | list name |
| BASE | the base node (not a pointer to it) |
| N | pointer to the node to be removed from the list |
Definition at line 177 of file ut0lst.h.
Referenced by buf_flush_relocate_on_flush_list(), buf_flush_remove(), buf_LRU_get_free_only(), buf_page_get_gen(), buf_relocate(), dict_foreign_add_to_cache(), dict_index_remove_from_cache(), dict_table_remove_from_cache(), fil_flush(), mem_area_alloc(), mem_area_free(), mutex_free_func(), os_event_free(), os_mutex_free(), read_view_close(), row_drop_tables_for_mysql_in_background(), rw_lock_free_func(), srv_conc_enter_innodb(), trx_cleanup_at_db_startup(), trx_commit_off_kernel(), trx_end_lock_wait(), trx_free_for_mysql(), trx_roll_savepoint_free(), trx_rseg_mem_free(), trx_savepoint_for_mysql(), trx_sig_remove(), trx_sig_reply(), trx_sys_close(), trx_undo_insert_cleanup(), trx_undo_update_cleanup(), ut_free(), and ut_free_all_mem().
| #define UT_LIST_REMOVE_CLEAR | ( | NAME, | |
| N | |||
| ) |
| #define UT_LIST_VALIDATE | ( | NAME, | |
| TYPE, | |||
| BASE, | |||
| ASSERTION | |||
| ) |
Checks the consistency of a two-way list.
| NAME | the name of the list |
| TYPE | node type |
| BASE | base node (not a pointer to it) |
| ASSERTION | a condition on ut_list_node_313 |
Definition at line 243 of file ut0lst.h.
Referenced by buf_relocate(), fil_validate(), and mem_pool_validate().