class Innodb::History

Public Class Methods

new(innodb_system) click to toggle source
# File lib/innodb/history.rb, line 6
def initialize(innodb_system)
  @innodb_system = innodb_system
end

Public Instance Methods

each_history_list() { |history_list(slot, slot)| ... } click to toggle source

Iterate through all history lists (one per rollback segment, nominally there are 128 rollback segments).

# File lib/innodb/history.rb, line 22
def each_history_list
  return enum_for(:each_history_list) unless block_given?

  trx_sys.rsegs.each do |slot|
    yield history_list(slot[:space_id], slot[:page_number])
  end
end
history_list(space_id, page_number) click to toggle source

A helper to get to the history_list of a given space_id and page number.

# File lib/innodb/history.rb, line 16
def history_list(space_id, page_number)
  @innodb_system.space(space_id).page(page_number).history_list
end
trx_sys() click to toggle source

A helper to get to the trx_sys page in the Innodb::System.

# File lib/innodb/history.rb, line 11
def trx_sys
  @innodb_system.system_space.trx_sys
end