MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fil_system_t Struct Reference
Collaboration diagram for fil_system_t:

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

Public Attributes

ib_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 261 of file fil0fil.cc.

Member Function Documentation

fil_system_t::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_t::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_t::UT_LIST_BASE_NODE_T ( fil_space_t  )

list of all file spaces

Member Data Documentation

ulint fil_system_t::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 292 of file fil0fil.cc.

ulint fil_system_t::max_n_open

n_open is not allowed to exceed this

Definition at line 288 of file fil0fil.cc.

ib_int64_t fil_system_t::modification_counter

when we write to a file we increment this by one

Definition at line 290 of file fil0fil.cc.

ib_mutex_t fil_system_t::mutex

The mutex protecting the cache

Definition at line 263 of file fil0fil.cc.

ulint fil_system_t::n_open

number of files currently open

Definition at line 287 of file fil0fil.cc.

hash_table_t* fil_system_t::name_hash

hash table based on the space name

Definition at line 268 of file fil0fil.cc.

hash_table_t* fil_system_t::spaces

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

Definition at line 265 of file fil0fil.cc.

ib_int64_t fil_system_t::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 299 of file fil0fil.cc.


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