fil_system_struct

时间:2021-10-03 19:27:44
/** 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. angularjs中ng-selected使用方法

    ng-selected只能应用在option标签上,就像ng-submit只能应用在form标签上一样. ng-selected指令为select设置了指定的选中值,HTML规范不允许浏览器保存类似s ...

  2. C&num;:控制WinForm界面的显示

    控制WinForm界面在屏幕的四个角落显示,具体代码中有说明: using System; using System.Collections.Generic; using System.Drawing ...

  3. c 中关于int,unsigned int &comma; short 各种类型总结

    int类型比较特殊,具体的字节数同机器字长和编译器有关.如果要保证移植性,尽量用__int16 __int32 __int64吧__int16.__int32这种数据类型在所有平台下都分配相同的字节. ...

  4. JAVA小知识点-Finally和Return的执行关系

    如果Try和Catch中存在return语句的时候Finally内的语句是否会执行,执行的时候对结果又有什么影响呢?我写了个例子来试验这个问题: public static Map<String ...

  5. Apache Spark 2&period;2&period;0 中文文档 - Submitting Applications &vert; ApacheCN

    Submitting Applications 在 script in Spark的 bin 目录中的spark-submit 脚本用与在集群上启动应用程序.它可以通过一个统一的接口使用所有 Spar ...

  6. mysql慢查询分析工具 mysqlsla 安装

    概述 mysqlsla 是一款很不错的mysql慢查询日志分析工具,而且简单易用.mysqlsla 是用perl编写的脚本,运行需要perl-DBI和per-DBD-Mysql两模块的支持.mysql ...

  7. 从壹开始前后端分离【 &period;NETCore2&period;1 &plus;Vue 2 &plus;AOP&plus;DI】框架之一 &vert;&vert; 前言

    缘起 作为一个.Net攻城狮已经4年有余了,一直不温不火,正好近来项目不是很忙,闲得无聊,搞一搞新技术,一方面是打发无聊的时间,一方面也是督促自己该学习辣!身边的大神都转行的转行,加薪的加薪,本人比较 ...

  8. 使用微软PinYinConverter查询汉字拼音

    通过汉字,如何查询拼音? 微软有相应的DLL可直接使用 引用方式 Nuget包管理安装 DLL下载后,引用 可以从微软的网站上下载相关文字处理的类库,下载地址如下: http://download.m ...

  9. Java的家庭记账本程序(I)

    日期:2019.2.26 博客期:037 星期二 Part 1: 今天使用新的"radio"标签,将搜索方式的选则内容更改了,如下图,不过,研究了很久的数据库连接也还是没有成功!嗯 ...

  10. python2&period;7&period;X 升级至Python3&period;6&period;X

    安装Python3 项目是在py3环境下进行编码的,正好yczhang默认的py版本是2,我们还需要安装py3才能让程序run起来,在此之前,需要安装开发工具包,因为要编译安装Python [root ...

相关文章