/** 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. .Net webservice动态调用

    直接贴代码吧 public class PmsService { /// <summary> /// pms接口 /// </summary> /// <param na ...

  2. bnuoj 25662 A Famous Grid (构图+BFS)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=25662 #include <iostream> #include <stdio.h ...

  3. asp.net 中给gridview添加自动序号

    第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了. 代码如下: <asp:TemplateField HeaderText="序号&quo ...

  4. 深入浅出百度地图API开发系列(1):前言

    百度地图API目前在地图API领域越来越受到众多开发者的关注,许多应用都使用到了百度地图API服务,包括博主me,我自己使用做的是Javascript API,根据经验,我想整理出一份系列教程,如果能 ...

  5. SQL Server视图

    想来想去,总想写写SQL Server方面的知识,像视图.存储过程,大数据量操作的优化等等. 先把基础的知识总结个遍先,然后再寻求更高更远的发展.这篇文章,将带大家来看看视图. 何谓视图,视图包含行和 ...

  6. execl执行解释器文件以及shell命令

    问题描述:        execl执行解释器文件以及shell命令 问题解决: 具体源文件:

  7. 【HDOJ】【4405】Aeroplane chess飞行棋

    概率DP/数学期望 kuangbin总结中的第4题 啊还是求期望嘛……(话说Aeroplane chess这个翻译怎么有种chinglish的赶脚……) 好像有点感觉了…… 首先不考虑直飞的情况: f ...

  8. 【UVA】【10828】随机程序

    数学期望/高斯消元/马尔可夫过程 刘汝佳老师白书上的例题- -b 本体不满足拓扑关系,但马尔可夫过程是可以高斯消元解的…… 用「高斯·约当消元」更方便! //UVA 10828 #include< ...

  9. POJ2965The Pilots Brothers' refrigerator

    http://poj.org/problem?id=2965 这个题的话,一开始也不会做,旁边的人说用BFS,后来去网上看了众大神的思路,瞬间觉得用BFS挺简单易:因为要让一个“+”变为“-”,只要将 ...

  10. JAVASCRIPT的一些知识点梳理

    春节闲点,可以安心的梳理一下以前不是很清楚的东东.. 看的是以下几个URL: http://web.jobbole.com/82520/ http://blog.csdn.net/luoweifu/a ...