typedef    struct fil_space_struct    fil_space_t;

/** Tablespace or log data space: let us call them by a common name space */
struct fil_space_struct {
    char*        name;    /*!< space name = the path to the first file in
                it */
    ulint        id;    /*!< space id */
    ib_int64_t    tablespace_version;
                /*!< in DISCARD/IMPORT this timestamp
                is used to check if we should ignore
                an insert buffer merge request for a
                page because it actually was for the
                previous incarnation of the space */
    ibool        mark;    /*!< this is set to TRUE at database startup if
                the space corresponds to a table in the InnoDB
                data dictionary; so we can print a warning of
                orphaned tablespaces */
    ibool        stop_ios;/*!< TRUE if we want to rename the
                .ibd file of tablespace and want to
                stop temporarily posting of new i/o
                requests on the file */
    ibool        stop_new_ops;
                /*!< we set this TRUE when we start
                deleting a single-table tablespace.
                When this is set following new ops
                are not allowed:
                * read IO request
                * ibuf merge
                * file flush
                Note that we can still possibly have
                new write operations because we don't
                check this flag when doing flush
                batches. */
    ulint        purpose;/*!< FIL_TABLESPACE, FIL_LOG, or
                FIL_ARCH_LOG */
    UT_LIST_BASE_NODE_T(fil_node_t) chain;
                /*!< base node for the file chain */
    ulint        size;    /*!< space size in pages; 0 if a single-table
                tablespace whose size we do not know yet;
                last incomplete megabytes in data files may be
                ignored if space == 0 */
    ulint        flags;    /*!< compressed page size and file format, or 0 */
    ulint        n_reserved_extents;
                /*!< number of reserved free extents for
                ongoing operations like B-tree page split */
    ulint        n_pending_flushes; /*!< this is positive when flushing
                the tablespace to disk; dropping of the
                tablespace is forbidden if this is positive */
    ulint        n_pending_ops;/*!< this is positive when we
                have pending operations against this
                tablespace. The pending operations can
                be ibuf merges or lock validation code
                trying to read a block.
                Dropping of the tablespace is forbidden
                if this is positive */
    hash_node_t    hash;    /*!< hash chain node */
    hash_node_t    name_hash;/*!< hash chain the name_hash table */
#ifndef UNIV_HOTBACKUP
    rw_lock_t    latch;    /*!< latch protecting the file space storage
                allocation */
#endif /* !UNIV_HOTBACKUP */
    UT_LIST_NODE_T(fil_space_t) unflushed_spaces;
                /*!< list of spaces with at least one unflushed
                file we have written to */
    ibool        is_in_unflushed_spaces; /*!< TRUE if this space is
                currently in unflushed_spaces */
    UT_LIST_NODE_T(fil_space_t) space_list;
                /*!< list of all spaces */
    ulint        magic_n;/*!< FIL_SPACE_MAGIC_N */
};

fil_space_t的更多相关文章

  1. fil_space_create

    /*******************************************************************//** Creates a space memory obje ...

  2. 函数fil_node_create

    /*******************************************************************//** Appends a new file to the c ...

  3. fil_system_struct

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

  4. 函数fil_extend_space_to_desired_size

    /**********************************************************************//** Tries to extend a data f ...

  5. 函数fil_io

    /********************************************************************//** Reads or writes data. This ...

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

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

  7. MySQL · 引擎特性 · InnoDB redo log漫游(转)

    前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性. 和大多数关系型数据库一样, ...

  8. MySQL 5.7 INFORMATION_SCHEMA 详解

    refman mysql 5.7 INFORMATION_SCHEMA提供了对数据库元数据的访问,MySQL服务器信息,如数据库或表的名称,列的数据类型,访问权限等. 有时也把这些信息叫做数据字典或系 ...

  9. 9. FILES

    9. FILES FILES表提供有关存储MySQL表空间数据的文件的信息. FILES表提供有关InnoDB数据文件的信息. 在NDB Cluster中,此表还提供有关存储NDB Cluster D ...

随机推荐

  1. 20145120 《Java程序设计》第1周学习总结

    20145120 <Java程序设计>第1周学习总结 教材学习内容总结 刚刚开始学习java,感觉还十分陌生,在第一周的学习中,我知道了java的历史,JVM.JRE和JDK是什么等各种知 ...

  2. CodeForces 173B Chamber of Secrets 二分图+最短路

    题目链接: http://codeforces.com/problemset/problem/173/B 题意: 给你一个n*m的地图,现在有一束激光从左上角往左边射出,每遇到‘#’,你可以选择光线往 ...

  3. hdu 2196

    树形dp 本文出自   http://blog.csdn.net/shuangde800 题目传送门 题意: 给出一棵树,求离每个节点最远的点的距离 思路: 把无根树转化成有根树分析, 对于上面那棵树 ...

  4. unit3d 4.6 document open solution

    发现4.6 的 本地 文档字体解析采用 fonts.googleapis.com ,可是google 自古就与天朝不在一个鼻孔,所以你打开往往需要半天. 网上查了一下,把所有本地的*.html 文档  ...

  5. POJ2217 Secretary 后缀数组&&高度数组

    学后缀数组后的一道裸题.先来讲讲收获,作为字符串初学者,后缀数组也是刚刚在学,所幸的是有一篇好的论文<后缀数组--处理字符串的有力工具>by 罗穗骞,里面非常详尽地介绍了有关后缀数组的概念 ...

  6. hdu 1175 连连看 (广搜,注意解题思维,简单)

    题目 解析见代码 #define _CRT_SECURE_NO_WARNINGS //这是非一般的最短路,所以广搜到的最短的路不一定是所要的路线 //所以应该把所有的路径都搜索出来,找到最短的转折数, ...

  7. 在mac上安装hadoop伪分布式

    换了macbook pro之后,要重新安装hadoop,但是mac上的jdk跟windows上的不同,导致折腾了挺久的,现在分享出来,希望对大家有用. 一:下载jdk 选择最新版本下载,地址:http ...

  8. Codeforces D546:Soldier and Number Game

    题目链接 输入t对数 a, b 求(b,a]内的每个数拆成素因子的个数和 这里每个数都可以写成素数的乘积,可以写成几个素数的和就有几个素因子,这里求的是(b,a]内的素因子和 思路: 素数的素因子个数 ...

  9. 毕向东JAVA视频讲解笔记(前三课)

    1,定义一个类,因为java程序都定义类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现. 2,定义一个主函数.为了让该类可以独立运行. 3,因为演示hello world ...

  10. Tomcat处理HTTP请求源码分析(下)

    转载:http://www.infoq.com/cn/articles/zh-tomcat-http-request-2 很多开源应用服务器都是集成tomcat作为web container的,而且对 ...