Class: Innodb::Page::IbufBitmap

Inherits:
Innodb::Page show all
Extended by:
ReadBitsAtOffset
Defined in:
lib/innodb/page/ibuf_bitmap.rb

Constant Summary

Constants inherited from Innodb::Page

PAGE_TYPE, PAGE_TYPE_BY_VALUE, SPECIALIZED_CLASSES

Instance Attribute Summary

Attributes inherited from Innodb::Page

#space

Instance Method Summary collapse

Methods included from ReadBitsAtOffset

read_bits_at_offset

Methods inherited from Innodb::Page

#checksum, #checksum_crc32, #checksum_crc32?, #checksum_innodb, #checksum_innodb?, #checksum_invalid?, #checksum_trailer, #checksum_type, #checksum_valid?, #corrupt?, #cursor, #each_page_body_byte_as_uint8, #each_page_header_byte_as_uint8, #fil_header, #fil_trailer, handle, #in_doublewrite_buffer?, #initialize, #inspect, #lsn, #lsn_low32_header, #lsn_low32_trailer, maybe_undefined, #misplaced?, #misplaced_offset?, #misplaced_space?, #name, #next, #offset, parse, #pos_fil_header, #pos_fil_trailer, #pos_page_body, #pos_partial_page_header, #prev, #size, #size_fil_header, #size_fil_trailer, #size_page_body, #size_partial_page_header, #space_id, #torn?, #type

Constructor Details

This class inherits a constructor from Innodb::Page

Instance Method Details

#dumpObject



37
38
39
40
41
42
43
44
# File 'lib/innodb/page/ibuf_bitmap.rb', line 37

def dump
  super

  puts "ibuf bitmap:"
  ibuf_bitmap.each_page_status do |page_number, page_status|
    puts "  Page %i: %s" % [page_number, page_status.inspect]
  end
end

#each_region {|{ :offset => pos_ibuf_bitmap, :length => size_ibuf_bitmap, :name => :ibuf_bitmap, :info => "Insert Buffer Bitmap", }| ... } ⇒ Object

Yields:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/innodb/page/ibuf_bitmap.rb', line 18

def each_region
  unless block_given?
    return enum_for(:each_region)
  end

  super do |region|
    yield region
  end

  yield({
    :offset => pos_ibuf_bitmap,
    :length => size_ibuf_bitmap,
    :name => :ibuf_bitmap,
    :info => "Insert Buffer Bitmap",
  })

  nil
end

#ibuf_bitmapObject



14
15
16
# File 'lib/innodb/page/ibuf_bitmap.rb', line 14

def ibuf_bitmap
  Innodb::IbufBitmap.new(self, cursor(pos_ibuf_bitmap))
end

#pos_ibuf_bitmapObject



6
7
8
# File 'lib/innodb/page/ibuf_bitmap.rb', line 6

def pos_ibuf_bitmap
  pos_page_body
end

#size_ibuf_bitmapObject



10
11
12
# File 'lib/innodb/page/ibuf_bitmap.rb', line 10

def size_ibuf_bitmap
  (Innodb::IbufBitmap::BITS_PER_PAGE * space.pages_per_bookkeeping_page) / 8
end