Drizzled Public API Documentation

fil_system_struct Struct Reference

Public Member Functions

 UT_LIST_BASE_NODE_T (fil_node_t) LRU
 UT_LIST_BASE_NODE_T (fil_space_t) unflushed_spaces
 UT_LIST_BASE_NODE_T (fil_space_t) space_list
 UT_LIST_BASE_NODE_T (fil_node_t) LRU
 UT_LIST_BASE_NODE_T (fil_space_t) unflushed_spaces
 UT_LIST_BASE_NODE_T (fil_space_t) space_list

Public Attributes

mutex_t mutex
hash_table_tspaces
hash_table_tname_hash
ulint n_open
ulint max_n_open
ib_int64_t modification_counter
ulint max_assigned_id
ib_int64_t tablespace_version
ibool space_id_reuse_warned

Detailed Description

The tablespace memory cache; also the totality of logs (the log

data space) is stored here; below we talk about tablespaces, but also the ib_logfiles form a 'space' and it is handled here

Definition at line 246 of file fil0fil.cc.

Member Function Documentation

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_node_t  )

base node for the LRU list of the most recently used open files with no pending i/o's; if we start an i/o on the file, we first remove it from this list, and return it to the start of the list when the i/o ends; log files and the system tablespace are not put to this list: they are opened after the startup, and kept open until shutdown

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_node_t  )

base node for the LRU list of the most recently used open files with no pending i/o's; if we start an i/o on the file, we first remove it from this list, and return it to the start of the list when the i/o ends; log files and the system tablespace are not put to this list: they are opened after the startup, and kept open until shutdown

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_space_t  )

base node for the list of those tablespaces whose files contain unflushed writes; those spaces have at least one file node where modification_counter > flush_counter

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_space_t  )

base node for the list of those tablespaces whose files contain unflushed writes; those spaces have at least one file node where modification_counter > flush_counter

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_space_t  )

list of all file spaces

fil_system_struct::UT_LIST_BASE_NODE_T ( fil_space_t  )

list of all file spaces

Member Data Documentation

ulint fil_system_struct::max_assigned_id

maximum space id in the existing tables, or assigned during the time mysqld has been up; at an InnoDB startup we scan the data dictionary and set here the maximum of the space id's of the tables there

Definition at line 277 of file fil0fil.cc.

Referenced by fil_assign_new_space_id(), fil_node_create(), fil_set_max_space_id_if_bigger(), and fil_space_create().

ulint fil_system_struct::max_n_open

n_open is not allowed to exceed this

Definition at line 273 of file fil0fil.cc.

Referenced by fil_init(), and fil_open_log_and_system_tablespace_files().

ib_int64_t fil_system_struct::modification_counter

when we write to a file we increment this by one

Definition at line 275 of file fil0fil.cc.

ulint fil_system_struct::n_open

number of files currently open

Definition at line 272 of file fil0fil.cc.

Referenced by fil_open_log_and_system_tablespace_files(), and fil_validate().

hash_table_t * fil_system_struct::name_hash

hash table based on the space name

Definition at line 253 of file fil0fil.cc.

Referenced by fil_close(), fil_init(), and fil_space_create().

hash_table_t * fil_system_struct::spaces

The hash table of spaces in the system; they are hashed on the space id

Definition at line 250 of file fil0fil.cc.

Referenced by fil_close(), fil_init(), fil_space_create(), and fil_validate().

ib_int64_t fil_system_struct::tablespace_version

a counter which is incremented for every space object memory creation; every space mem object gets a 'timestamp' from this; in DISCARD/ IMPORT this is used to check if we should ignore an insert buffer merge request

Definition at line 284 of file fil0fil.cc.

Referenced by fil_space_create().


The documentation for this struct was generated from the following files: