1. /** The tablespace memory cache */
  2. typedef struct fil_system_struct fil_system_t;
  3.  
  4. /** The tablespace memory cache; also the totality of logs (the log
  5. data space) is stored here; below we talk about tablespaces, but also
  6. the ib_logfiles form a 'space' and it is handled here */
  7.  
  8. struct fil_system_struct {
  9. #ifndef UNIV_HOTBACKUP
  10. mutex_t mutex; /*!< The mutex protecting the cache */
  11. #endif /* !UNIV_HOTBACKUP */
  12. hash_table_t* spaces; /*!< The hash table of spaces in the
  13. system; they are hashed on the space
  14. id */
  15. hash_table_t* name_hash; /*!< hash table based on the space
  16. name */
  17. UT_LIST_BASE_NODE_T(fil_node_t) LRU;
  18. /*!< base node for the LRU list of the
  19. most recently used open files with no
  20. pending i/o's; if we start an i/o on
  21. the file, we first remove it from this
  22. list, and return it to the start of
  23. the list when the i/o ends;
  24. log files and the system tablespace are
  25. not put to this list: they are opened
  26. after the startup, and kept open until
  27. shutdown */
  28. UT_LIST_BASE_NODE_T(fil_space_t) unflushed_spaces;
  29. /*!< base node for the list of those
  30. tablespaces whose files contain
  31. unflushed writes; those spaces have
  32. at least one file node where
  33. modification_counter > flush_counter */
  34. ulint n_open; /*!< number of files currently open */
  35. ulint max_n_open; /*!< n_open is not allowed to exceed
  36. this */
  37. ib_int64_t modification_counter;/*!< when we write to a file we
  38. increment this by one */
  39. ulint max_assigned_id;/*!< maximum space id in the existing
  40. tables, or assigned during the time
  41. mysqld has been up; at an InnoDB
  42. startup we scan the data dictionary
  43. and set here the maximum of the
  44. space id's of the tables there */
  45. ib_int64_t tablespace_version;
  46. /*!< a counter which is incremented for
  47. every space object memory creation;
  48. every space mem object gets a
  49. 'timestamp' from this; in DISCARD/
  50. IMPORT this is used to check if we
  51. should ignore an insert buffer merge
  52. request */
  53. UT_LIST_BASE_NODE_T(fil_space_t) space_list;
  54. /*!< list of all file spaces */
  55. ibool space_id_reuse_warned;
  56. /* !< TRUE if fil_space_create()
  57. has issued a warning about
  58. potential space_id reuse */
  59. };

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. Ubuntu修改屏幕默认亮度

    sudo gedit /etc/default/grub 把GRUB_CMDLINE_LINUX="" 改成GRUB_CMDLINE_LINUX="acpi_backli ...

  2. OC面向对象继承关系和组合关系笔记

    继承关系是描述类和类之间的关系,两个类分别称为子类和父类,子类继承了父类,子类就拥有了父类的属性和方法: 继承的关系特点描述出来就是:** “是” **  (例如:学生类 是 人类) 组合关系描述的语 ...

  3. matlab和本机MySQL链接

    1.安装好 ***matlab*** 和 ***mysql***: 2.[下载](http://dev.mysql.com/downloads/connector/j/#downloads) mysq ...

  4. 1934: [Shoi2007]Vote 善意的投票 - BZOJ

    Description幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以 ...

  5. c#中获取服务器IP,客户端IP以及其它

    客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...

  6. [设计模式] 13 责任链模式 Chain of Responsibility

    转    http://blog.csdn.net/wuzhekai1985   http://www.jellythink.com/archives/878 向项目经理提交了休假申请,我的项目经理向 ...

  7. jquerymobile局部渲染的各种刷新

    在JQueryMobile页面在第一次初始化进行一次整体渲染,动态生成的需要局部渲染. 在jquerymobile实现listview局部渲染的方法: function queryPublishOrd ...

  8. Python分析NGINX LOG版本二

    不好意思,上一版逻辑有错误,(只分析了一次就没了) 此版改正. 按同事要改,作成传参数形式,搞定. #!/usr/bin/env python # coding: utf-8 ############ ...

  9. PHP WAMP关闭notice等提示

    这是xdebug的的错误报告.在开发环境下,可以考虑将其开启,但是在部署到真实应用环境下应该将其关掉. 找到你的php.ini 在最后几行注释掉所有关于xdebug的东西,重启apache即可!

  10. GitHub 开源工具整理

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...