Class: Innodb::Page::Sys

Inherits:
Innodb::Page show all
Defined in:
lib/innodb/page/sys.rb

Constant Summary

Constants inherited from Innodb::Page

PAGE_TYPE, PAGE_TYPE_BY_VALUE, UNDEFINED_PAGE_NUMBER

Instance Attribute Summary

Attributes inherited from Innodb::Page

#space

Class Method Summary collapse

Methods inherited from Innodb::Page

#checksum_crc32, #checksum_crc32?, #checksum_innodb, #checksum_innodb?, #checksum_invalid?, #checksum_type, #checksum_valid?, #corrupt?, #cursor, #default_page_size?, #dump, #each_page_body_byte_as_uint8, #each_page_header_byte_as_uint8, #each_region, #extent_descriptor?, #fil_header, #fil_trailer, #in_doublewrite_buffer?, #initialize, #inspect, #inspect_header_fields, maybe_undefined, #misplaced?, #misplaced_offset?, #misplaced_space?, #name, page_type_by_value, parse, #pos_fil_header, #pos_fil_trailer, #pos_page_body, #pos_partial_page_header, register_specialization, #size, #size_fil_header, #size_fil_trailer, #size_page_body, #size_partial_page_header, specialization_for, specialization_for?, #torn?, undefined?

Constructor Details

This class inherits a constructor from Innodb::Page

Class Method Details

.handle(page, space, buffer, page_number = nil) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/innodb/page/sys.rb', line 15

def self.handle(page, space, buffer, page_number = nil)
  return Innodb::Page::SysIbufHeader.new(space, buffer, page_number) if page.offset == 3
  return Innodb::Page::SysDataDictionaryHeader.new(space, buffer, page_number) if page.offset == 7
  return Innodb::Page::SysRsegHeader.new(space, buffer, page_number) if space.rseg_page?(page.offset)

  page
end