![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
The low-level file system page header & trailer offsets. More...
#include "univ.i"Go to the source code of this file.
Classes | |
| struct | Fil_page_header | 
| A wrapper class to help print and inspect the file page header.  More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &out, const Fil_page_header &header) noexcept | 
| Overload the global output operator to handle an object of type Fil_page_header.  More... | |
Variables | |
| constexpr uint32_t | FIL_PAGE_SPACE_OR_CHKSUM = 0 | 
| The byte offsets on a file page for various variables.  More... | |
| constexpr uint32_t | FIL_PAGE_OFFSET = 4 | 
| page offset inside space  More... | |
| constexpr uint32_t | FIL_PAGE_PREV = 8 | 
| if there is a 'natural' predecessor of the page, its offset.  More... | |
| constexpr uint32_t | FIL_PAGE_SRV_VERSION = 8 | 
| On page 0 of the tablespace, this is the server version ID.  More... | |
| constexpr uint32_t | FIL_PAGE_NEXT = 12 | 
| if there is a 'natural' successor of the page, its offset.  More... | |
| constexpr uint32_t | FIL_PAGE_SPACE_VERSION = 12 | 
| On page 0 of the tablespace, this is the server version ID.  More... | |
| constexpr uint32_t | FIL_PAGE_LSN = 16 | 
| lsn of the end of the newest modification log record to the page  More... | |
| constexpr uint32_t | FIL_PAGE_TYPE = 24 | 
| file page type: FIL_PAGE_INDEX,..., 2 bytes.  More... | |
| constexpr uint32_t | FIL_PAGE_FILE_FLUSH_LSN = 26 | 
| this is only defined for the first page of the system tablespace: the file has been flushed to disk at least up to this LSN.  More... | |
| constexpr uint32_t | FIL_PAGE_VERSION = FIL_PAGE_FILE_FLUSH_LSN | 
| If page type is FIL_PAGE_COMPRESSED then the 8 bytes starting at FIL_PAGE_FILE_FLUSH_LSN are broken down as follows:  More... | |
| constexpr uint32_t | FIL_PAGE_ALGORITHM_V1 = FIL_PAGE_VERSION + 1 | 
| Compression algorithm (u8)  More... | |
| constexpr uint32_t | FIL_PAGE_ORIGINAL_TYPE_V1 = FIL_PAGE_ALGORITHM_V1 + 1 | 
| Original page type (u16)  More... | |
| constexpr uint32_t | FIL_PAGE_ORIGINAL_SIZE_V1 = FIL_PAGE_ORIGINAL_TYPE_V1 + 2 | 
| Original data size in bytes (u16)  More... | |
| constexpr uint32_t | FIL_PAGE_COMPRESS_SIZE_V1 = FIL_PAGE_ORIGINAL_SIZE_V1 + 2 | 
| Size after compression (u16)  More... | |
| constexpr uint32_t | FIL_RTREE_SPLIT_SEQ_NUM = FIL_PAGE_FILE_FLUSH_LSN | 
| This overloads FIL_PAGE_FILE_FLUSH_LSN for RTREE Split Sequence Number.  More... | |
| constexpr uint32_t | FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID = 34 | 
| starting from 4.1.x this contains the space id of the page  More... | |
| constexpr uint32_t | FIL_PAGE_SPACE_ID = FIL_PAGE_ARCH_LOG_NO_OR_SPACE_ID | 
| alias for space id  More... | |
| constexpr uint32_t | FIL_PAGE_DATA = 38 | 
| start of the data on the page  More... | |
| constexpr uint32_t | FIL_PAGE_END_LSN_OLD_CHKSUM = 8 | 
| File page trailer.  More... | |
| constexpr uint32_t | FIL_PAGE_DATA_END = 8 | 
| size of the page trailer  More... | |
| constexpr size_t | FIL_ADDR_PAGE = 0 | 
| First in address is the page offset.  More... | |
| constexpr size_t | FIL_ADDR_BYTE = 4 | 
| Then comes 2-byte byte offset within page.  More... | |
| constexpr size_t | FIL_ADDR_SIZE = 6 | 
| Address size is 6 bytes.  More... | |
| constexpr char | FIL_PATH_SEPARATOR = ';' | 
| Path separator e.g., 'dir;...;dirN'.  More... | |
The low-level file system page header & trailer offsets.
Created 10/25/1995 Heikki Tuuri
      
  | 
  inlinenoexcept | 
Overload the global output operator to handle an object of type Fil_page_header.
| [in] | out | the output stream. | 
| [in] | header | an object of type Fil_page_header. | 
      
  | 
  constexpr | 
Then comes 2-byte byte offset within page.
      
  | 
  constexpr | 
First in address is the page offset.
      
  | 
  constexpr | 
Address size is 6 bytes.
      
  | 
  constexpr | 
Compression algorithm (u8)
      
  | 
  constexpr | 
starting from 4.1.x this contains the space id of the page
      
  | 
  constexpr | 
Size after compression (u16)
      
  | 
  constexpr | 
start of the data on the page
      
  | 
  constexpr | 
size of the page trailer
      
  | 
  constexpr | 
File page trailer.
the low 4 bytes of this are used to store the page checksum, the last 4 bytes should be identical to the last 4 bytes of FIL_PAGE_LSN
      
  | 
  constexpr | 
this is only defined for the first page of the system tablespace: the file has been flushed to disk at least up to this LSN.
For FIL_PAGE_COMPRESSED pages, we store the compressed page control information in these 8 bytes.
      
  | 
  constexpr | 
lsn of the end of the newest modification log record to the page
      
  | 
  constexpr | 
if there is a 'natural' successor of the page, its offset.
Otherwise FIL_NULL. B-tree index pages(FIL_PAGE_TYPE contains FIL_PAGE_INDEX) on the same PAGE_LEVEL are maintained as a doubly linked list via FIL_PAGE_PREV and FIL_PAGE_NEXT in the collation order of the smallest user record on each page.
      
  | 
  constexpr | 
page offset inside space
      
  | 
  constexpr | 
Original data size in bytes (u16)
      
  | 
  constexpr | 
Original page type (u16)
      
  | 
  constexpr | 
if there is a 'natural' predecessor of the page, its offset.
Otherwise FIL_NULL. This field is not set on BLOB pages, which are stored as a singly-linked list. See also FIL_PAGE_NEXT.
      
  | 
  constexpr | 
alias for space id
      
  | 
  constexpr | 
The byte offsets on a file page for various variables.
MySQL-4.0.14 space id the page belongs to (== 0) but in later versions the 'new' checksum of the page
      
  | 
  constexpr | 
On page 0 of the tablespace, this is the server version ID.
      
  | 
  constexpr | 
On page 0 of the tablespace, this is the server version ID.
      
  | 
  constexpr | 
file page type: FIL_PAGE_INDEX,..., 2 bytes.
The contents of this field can only be trusted in the following case: if the page is an uncompressed B-tree index page, then it is guaranteed that the value is FIL_PAGE_INDEX. The opposite does not hold.
In tablespaces created by MySQL/InnoDB 5.1.7 or later, the contents of this field is valid for all uncompressed pages.
      
  | 
  constexpr | 
If page type is FIL_PAGE_COMPRESSED then the 8 bytes starting at FIL_PAGE_FILE_FLUSH_LSN are broken down as follows:
Control information version format (u8)
      
  | 
  constexpr | 
Path separator e.g., 'dir;...;dirN'.
      
  | 
  constexpr | 
This overloads FIL_PAGE_FILE_FLUSH_LSN for RTREE Split Sequence Number.