/** The tablespace memory cache */
typedef    struct fil_system_struct    fil_system_t;

/** 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 */

struct fil_system_struct {
#ifndef UNIV_HOTBACKUP
    mutex_t        mutex;        /*!< The mutex protecting the cache */
#endif /* !UNIV_HOTBACKUP */
    hash_table_t*    spaces;        /*!< The hash table of spaces in the
                    system; they are hashed on the space
                    id */
    hash_table_t*    name_hash;    /*!< hash table based on the space
                    name */
    UT_LIST_BASE_NODE_T(fil_node_t) LRU;
                    /*!< 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 */
    UT_LIST_BASE_NODE_T(fil_space_t) unflushed_spaces;
                    /*!< 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 */
    ulint        n_open;        /*!< number of files currently open */
    ulint        max_n_open;    /*!< n_open is not allowed to exceed
                    this */
    ib_int64_t    modification_counter;/*!< when we write to a file we
                    increment this by one */
    ulint        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 */
    ib_int64_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 */
    UT_LIST_BASE_NODE_T(fil_space_t) space_list;
                    /*!< list of all file spaces */
    ibool        space_id_reuse_warned;
                    /* !< TRUE if fil_space_create()
                    has issued a warning about
                    potential space_id reuse */
};

fil_system_struct的更多相关文章

  1. MySQL内核:InnoDB存储引擎 卷1

    MySQL内核:InnoDB存储引擎卷1(MySQL领域Oracle ACE专家力作,众多MySQL Oracle ACE力捧,深入MySQL数据库内核源码分析,InnoDB内核开发与优化必备宝典) ...

  2. Innodb物理存储结构系列1

    本篇先介绍 下Innodb表空间,文件相关的内存数据结构. 1. 数据结构 Innodb的tablespace和文件的关系,是一对多的关系,先来看三个结构体 1. fil_system_struct: ...

随机推荐

  1. 3144:[HNOI2013]切糕 - BZOJ

    题目描述 Description 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你 ...

  2. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

  3. [BC]BestCoder Round#86小结

    1001 [题意] 给定一个长度为n(n<=100000)的正整数序列,给出m(m<=100000)个子集合和的记录,问哪些一定比正确的记录多了 [题解] 对正整数序列求和,记录比和大的一 ...

  4. MemSQL Start[c]UP 2.0 - Round 2 - Online Round

    搞到凌晨4点一个没出,要gg了. A. Golden System http://codeforces.com/contest/458/problem/A #include<cstdio> ...

  5. BestCoder Round #3

    Task schedule http://acm.hdu.edu.cn/showproblem.php?pid=4907 #include<cstdio> #include<cstr ...

  6. transparent 的新问题

    http://msdn.microsoft.com/en-us/library/windows/desktop/bb172255(v=vs.85).aspx 人物透明 显示是纹理和白色混合 开始怀疑是 ...

  7. hlsl 的tex函数

    texCUBE http://msdn.microsoft.com/en-us/library/windows/desktop/bb509687(v=vs.85).aspx

  8. phonegap file操作

    phonegap中,有时候需要操作到手机中的文件,这个时候就需要用到phonegap官方提供的插件 file ,英文好的可以直接参考官方文档 首先是安装插件:(需要phonegap 3.0 以上,不止 ...

  9. 【Asp.Net MVC--资料汇总】杂七杂八

    Html.RenderPartial与Html.RenderAction的区别 http://blog.sina.com.cn/s/blog_8278b1800100zkn0.html ASP.NET ...

  10. 《head first java 》读书笔记(二)

    Updated 2014/03/27 P402-P454 Updated 2014/04/03 P454- 世界三大首席管理器: border, flow, box borderLayout: 五个区 ...