函数 page_dir_get_n_heap
查看某page中含有的记录个数
#define PAGE_N_HEAP 4 /* number of records in the heap,
bit =flag: new-style compact page format */
/*************************************************************//**
Gets the number of records in the heap.
@return number of user records */
UNIV_INLINE
ulint
page_dir_get_n_heap(
/*================*/
const page_t* page) /*!< in: index page */
{
return(page_header_get_field(page, PAGE_N_HEAP) & 0x7fff);
}
/*************************************************************//**
Reads the given header field. */
UNIV_INLINE
ulint
page_header_get_field(
/*==================*/
const page_t* page, /*!< in: page */
ulint field) /*!< in: PAGE_LEVEL, ... */
{
ut_ad(page);
ut_ad(field <= PAGE_INDEX_ID);
return(mach_read_from_2(page + PAGE_HEADER + field));
}
#define PAGE_HEADER FSEG_PAGE_DATA /* index page header starts at this offset */
#define FSEG_PAGE_DATA FIL_PAGE_DATA
#define FIL_PAGE_DATA 38
|
名称
|
长度
|
含义
|
|
FIL_PAGE_SPACE
|
4
|
space id
|
|
FIL_PAGE_OFFSET
|
4
|
页号
|
|
FIL_PAGE_PREV
|
4
|
上一页
|
|
FIL_PAGE_NEXT
|
4
|
下一页
|
|
FIL_PAGE_LSN
|
8
|
日志序列号
|
|
FIL_PAGE_TYPE
|
2
|
页类型
|
|
FIL_PAGE_FILE_FLUSH_LSN
|
8
|
文件的日志序列号,仅文件的第一页的此字段有效
|
|
FIL_PAGE_ARCH_LOG_NO
|
4
|
归档日志文件号
|
|
名称
|
长度
|
含义
|
|
PAGE_N_DIR_SLOTS
|
2
|
记录槽的数量,初始值为2,因为页至少具有最小虚记录与最大虚记录
|
|
PAGE_HEAP_TOP
|
2
|
指向堆中的第一条记录
|
|
PAGE_N_HEAP
|
2
|
堆记录的数量,初始值为2
|
|
PAGE_N_FREE
|
2
|
指向第一个空闲记录
|
|
PAGE_GARBAGE
|
2
|
被删除记录的总字节数
|
|
PAGE_LAST_INSERT
|
2
|
指向最后一个插入的记录
|
|
PAGE_DIRECTION
|
2
|
记录顺序
|
|
PAGE_N_DIRECTION
|
2
|
连续同方面插入的数量
|
|
PAGE_N_RECS
|
2
|
用户记录的数量
|
|
PAGE_MAX_TRX_ID
|
8
|
更改此页的最高事务ID(仅仅对二级索引有效)
|
|
PAGE_LEVEL
|
2
|
该页在索引中的层次(页节点是0)
|
|
PAGE_INDEX_ID
|
8
|
所属的索引ID
|
|
PAGE_BTR_SEG_LEAF
|
10
|
索引页节点段
|
|
PAGE_BTR_SEG_TOP
|
10
|
索引内节点段
|
函数 page_dir_get_n_heap的更多相关文章
- 函数lock_rec_create
/*********************************************************************//** Creates a new record lock ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- C++对C的函数拓展
一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- javascript中的this与函数讲解
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...
- 复杂的 Hash 函数组合有意义吗?
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...
- JS核心系列:浅谈函数的作用域
一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...
随机推荐
- 64bit Ubuntu, Android AAPT, R.java
Ubuntu 13.10 aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object f ...
- Flex:在PANEL的title上加一个button[转]
//转自:http://www.cnblogs.com/GFantasy/archive/2010/03/05/1678917.htmlpackage{ import mx.containers.Pa ...
- c++ 关于换行符
windows: \r\n linux: \n mac: \r http://blog.chinaunix.net/uid-12706763-id-10830.html 不同的OS有不同的换行符: O ...
- javaScript基础之闭包
不管是Jquery还是EXTJS,现代的js框架中大量应用了js的一些特性,比如:匿名函数,闭包等等,导致源代码非常难以阅读. 不过要想真正的使用好前台的UI技术,还是需要去深入的理解这些概念. ...
- [转载]C#如何在webBrowser1控件通过TagName,Name查找元素(没有ID时)遍历窗体元素
//防止页面多次刷新页面执行 ) { string GetUserName = System.Configuration.ConfigurationSettings.AppSettings[" ...
- error: The shader requires a sampler in slot 0 which hasn't been set [XXXsampler]
About the sampler, you need to assign it to your pixelshader. m_d3dContext.Get()->PSSetSamplers(0 ...
- struts2之请求参数接收
struts2之请求参数接收 1. 采用基本类型接受请求参数(get/post)在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名的属性.请求路径:http:/ ...
- hdu 4869
一个机智题,可惜比赛的时候没有机智出来 #include<cstdio> #include<cstring> #include<cmath> #include< ...
- winform DataGridView控件开发经验
1.不让DataGridView控件自动生成列 设置AutoGenerateColumns 为false. dgTicket.AutoGenerateColumns = false; //将自动生成列 ...
- POJ 1915
#include<iostream> #include<stdio.h> #define MAXN 350 #include"queue" using na ...