Class Innodb::Log
In: lib/innodb/log.rb
Parent: Object

An InnoDB transaction log file.

Methods

Constants

LOG_HEADER_BLOCK_MAP = { :LOG_FILE_HEADER => 0, :LOG_CHECKPOINT_1 => 1, :EMPTY => 2, :LOG_CHECKPOINT_2 => 3, }   A map of the name and position of the blocks that form the log header.
LOG_HEADER_BLOCKS = LOG_HEADER_BLOCK_MAP.size   Number of blocks in the log file header.
LOG_HEADER_SIZE = LOG_HEADER_BLOCKS * Innodb::LogBlock::BLOCK_SIZE   The size in bytes of the log file header.
LOG_CHECKPOINT_GROUPS = 32   Maximum number of log group checkpoints.

Attributes

blocks  [R]  The number of blocks in the log.
capacity  [R]  The log capacity (in bytes).
size  [R]  The size (in bytes) of the log.

Public Class methods

Open a log file.

Public Instance methods

Return a log block with a given block index as an InnoDB::LogBlock object. Blocks are indexed after the log file header, starting from 0.

Get a cursor to a block in a given offset of the log.

Get the raw byte buffer for a specific block by block offset.

Return the log checkpoints.

Iterate through all log blocks, returning the block index and an InnoDB::LogBlock object for each block.

Return the log header.

Read a log checkpoint from the given cursor.

[Validate]