class Innodb::Page::IndexCompressed
Public Instance Methods
directory()
click to toggle source
Calls superclass method
Innodb::Page::Index#directory
# File lib/innodb/page/index_compressed.rb, line 17 def directory super.map { |n| n & 0x3fff } end
directory_slots()
click to toggle source
The number of directory slots in use.
# File lib/innodb/page/index_compressed.rb, line 13 def directory_slots page_header[:n_heap] - 2 end
free_space()
click to toggle source
Return the amount of free space in the page.
# File lib/innodb/page/index_compressed.rb, line 34 def free_space free_space_start = size - size_fil_trailer - directory_space - (uncompressed_columns_size * (page_header.n_heap - 2)) puts "Free space start == %04x" % [(offset * size) + free_space_start] c = cursor(free_space_start).backward zero_bytes = 0 zero_bytes += 1 while c.read_uint8.zero? zero_bytes # page_header[:garbage] + (size - size_fil_trailer - directory_space - page_header[:heap_top]) end
uncompressed_columns_size()
click to toggle source
# File lib/innodb/page/index_compressed.rb, line 21 def uncompressed_columns_size if leaf? if record_format && record_format[:type] == :clustered 6 + 7 # Transaction ID + Roll Pointer else 0 end else 4 # Node pointer for non-leaf pages end end