MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
buf0types.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BUF_BUDDY_LOW_SHIFT   UNIV_ZIP_SIZE_SHIFT_MIN
#define BUF_BUDDY_LOW   (1U << BUF_BUDDY_LOW_SHIFT)
#define BUF_BUDDY_SIZES   (UNIV_PAGE_SIZE_SHIFT - BUF_BUDDY_LOW_SHIFT)
#define BUF_BUDDY_SIZES_MAX
#define BUF_BUDDY_HIGH   (BUF_BUDDY_LOW << BUF_BUDDY_SIZES)

Typedefs

typedef byte buf_frame_t

Enumerations

enum  buf_flush_t { BUF_FLUSH_LRU = 0, BUF_FLUSH_LIST, BUF_FLUSH_SINGLE_PAGE, BUF_FLUSH_N_TYPES }
enum  buf_remove_t { BUF_REMOVE_ALL_NO_WRITE, BUF_REMOVE_FLUSH_NO_WRITE, BUF_REMOVE_FLUSH_WRITE }
enum  buf_io_fix { BUF_IO_NONE = 0, BUF_IO_READ, BUF_IO_WRITE, BUF_IO_PIN }
enum  srv_checksum_algorithm_t {
  SRV_CHECKSUM_ALGORITHM_CRC32, SRV_CHECKSUM_ALGORITHM_STRICT_CRC32, SRV_CHECKSUM_ALGORITHM_INNODB, SRV_CHECKSUM_ALGORITHM_STRICT_INNODB,
  SRV_CHECKSUM_ALGORITHM_NONE, SRV_CHECKSUM_ALGORITHM_STRICT_NONE
}

Detailed Description

The database buffer pool global types for the directory

Created 11/17/1995 Heikki Tuuri

Definition in file buf0types.h.

Macro Definition Documentation

#define BUF_BUDDY_HIGH   (BUF_BUDDY_LOW << BUF_BUDDY_SIZES)
twice the maximum block size of the buddy system;

the underlying memory is aligned by this amount: this must be equal to UNIV_PAGE_SIZE

Definition at line 113 of file buf0types.h.

#define BUF_BUDDY_LOW   (1U << BUF_BUDDY_LOW_SHIFT)

Smallest buddy page size

Definition at line 101 of file buf0types.h.

#define BUF_BUDDY_LOW_SHIFT   UNIV_ZIP_SIZE_SHIFT_MIN

Parameters of binary buddy system for compressed pages (buf0buddy.h) Zip shift value for the smallest page size

Definition at line 98 of file buf0types.h.

#define BUF_BUDDY_SIZES   (UNIV_PAGE_SIZE_SHIFT - BUF_BUDDY_LOW_SHIFT)

Actual number of buddy sizes based on current page size

Definition at line 104 of file buf0types.h.

#define BUF_BUDDY_SIZES_MAX
Value:
(UNIV_PAGE_SIZE_SHIFT_MAX \

Maximum number of buddy sizes based on the max page size

Definition at line 107 of file buf0types.h.

Typedef Documentation

typedef byte buf_frame_t

A buffer frame.

See Also
page_t

Definition at line 42 of file buf0types.h.

Enumeration Type Documentation

Flags for flush types

Enumerator:
BUF_FLUSH_LRU 

flush via the LRU list

BUF_FLUSH_LIST 

flush via the flush list of dirty blocks

BUF_FLUSH_SINGLE_PAGE 

flush via the LRU list but only a single page

BUF_FLUSH_N_TYPES 

index of last element + 1

Definition at line 48 of file buf0types.h.

enum buf_io_fix

Flags for io_fix types

Enumerator:
BUF_IO_NONE 

no pending I/O

BUF_IO_READ 

read pending

BUF_IO_WRITE 

write pending

BUF_IO_PIN 

disallow relocation of block and its removal of from the flush_list

Definition at line 69 of file buf0types.h.

Algorithm to remove the pages for a tablespace from the buffer pool.

See buf_LRU_flush_or_remove_pages().

Enumerator:
BUF_REMOVE_ALL_NO_WRITE 

Remove all pages from the buffer pool, don't write or sync to disk

BUF_REMOVE_FLUSH_NO_WRITE 

Remove only, from the flush list, don't write or sync to disk

BUF_REMOVE_FLUSH_WRITE 

Flush dirty pages to disk only don't remove from the buffer pool

Definition at line 59 of file buf0types.h.

Alternatives for srv_checksum_algorithm, which can be changed by

setting innodb_checksum_algorithm

Enumerator:
SRV_CHECKSUM_ALGORITHM_CRC32 

Write crc32, allow crc32, innodb or none when reading

SRV_CHECKSUM_ALGORITHM_STRICT_CRC32 

Write crc32, allow crc32 when reading

SRV_CHECKSUM_ALGORITHM_INNODB 

Write innodb, allow crc32, innodb or none when reading

SRV_CHECKSUM_ALGORITHM_STRICT_INNODB 

Write innodb, allow innodb when reading

SRV_CHECKSUM_ALGORITHM_NONE 

Write none, allow crc32, innodb or none when reading

SRV_CHECKSUM_ALGORITHM_STRICT_NONE 

Write none, allow none when reading

Definition at line 80 of file buf0types.h.