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. Unity物理优化的一个小问题

    为了性能优化,Unity会计算场景中所有的体积,包括静态的碰撞器并把 这些信息存在“Cash”中,对于静止物体而言,有了这些信息,就不需要 再每帧重新进行计算了.若移动,拉伸后或旋转了静态物体时,就是 ...

  2. Understand User's Intent from Speech and Text

    http://research.microsoft.com/en-us/projects/IntentUnderstanding/ Understanding what users like to d ...

  3. 查看系统网络连接打开端口、系统进程、DOS打开文件

    问题描述: DOS查看系统网络连接打开端口.打开的服务 问题解决: (1)DOS查看系统网络连接打开端口 注: 使用    netstat 命令,可以查看系统打开的端口 (2)查看和关闭系统打开进程 ...

  4. BZOJ3550: [ONTAK2010]Vacation

    3550: [ONTAK2010]Vacation Time Limit: 10 Sec  Memory Limit: 96 MBSubmit: 91  Solved: 71[Submit][Stat ...

  5. 设置配置文件信息时的classpath

    首先 classpath是指 WEB-INF文件夹下的classes目录  其中:lib和classes下文件访问优先级的问题: lib>classes  classpath 和 classpa ...

  6. 20160728noip模拟赛zld

    前言:单独对题面描述的评分-> [题解]把相邻长度为2的子串两两连边,跑欧拉路 /*明天再写,先贴一份方老师代码压压惊*/ #include<map> #include<sta ...

  7. oracle Execute Immediate 用法

      包含using into用法. Declare        v_sid Integer:=20020101;        v_sql Varchar2(100);        v_resul ...

  8. 【EntityFramwork--处理数据并发问题】

    EntityFramwork--处理数据并发问题时支持乐观并发,即假定最佳场景(这里是指数据在更新过程中没有发生变化) 具体看<Beginning ASP.NET 4.5 Databases&g ...

  9. 解决unity3d发布的网页游戏放到服务器上无法使用的问题

    http://www.unity蛮牛.com/blog-2429-1226.html 第一次把unity3d发布的网页游戏放到服务器上(Win2003),发现无法使用.可以尝试以下办法.       ...

  10. 管道命令xargs

    在研究hadoop的过程中,遇到一个小难题. 问题描述:我需要将文件夹A下的文件拷贝到文件夹B中,但是以hadoop开头的文件不要拷贝. 问题解决:ls  A|grep -v hadoop|xargs ...