当前位置:Gxlcms > 数据库问题 > Mysql源码分析--csv存储引擎

Mysql源码分析--csv存储引擎

时间:2021-07-01 10:21:17 帮助过:46人阅读

Transparent_file { File filedes; uchar *buff; /* in-memory window to the file or mmaped area */ /* current window sizes */ my_off_t lower_bound;//文件偏移开始位置 my_off_t upper_bound;//文件偏移结束位置 uint buff_size;//缓存文件的长度 public: Transparent_file(); ~Transparent_file(); void init_buff(File filedes_arg);//从文件中读取数据到内存缓存中 uchar *ptr();//返回内存缓存指针 my_off_t start(); my_off_t end(); char get_value (my_off_t offset); my_off_t read_next();//读取下一段 };

1.Transparent_file构造函数,根据buff_size和字符的大小申请了指定长度的空间,只是申请,没有初始化文件中的数据。

2.init_buff函数的作用是从指定文件中加载文件内容到缓存中。

3.read_next从文件中下一个buff_size长度的内容放到缓存中,并重写lower_bound和upper_bound的值。

4.get_value从文件中读取指定位置长度为buff_size的数据,放到缓存中。

未完待续。。。

Mysql源码分析--csv存储引擎

标签:mmap   返回   blog   public   目的   字符   span   ora   简单   

人气教程排行