Module: MiqBerkeleyDB

Defined in:
lib/db/MiqBdb/MiqBdb.rb,
lib/db/MiqBdb/MiqBdbHash.rb,
lib/db/MiqBdb/MiqBdbPage.rb,
lib/db/MiqBdb/MiqBdbUtil.rb,
lib/db/MiqBdb/MiqBdbBtree.rb

Defined Under Namespace

Classes: MiqBdb, MiqBdbBtreeDatabase, MiqBdbHashDatabase, MiqBdbPage, MiqBdbUtil

Constant Summary collapse

DBMETASIZE =

BerkeleyDB constants.

512
DB_HASHMAGIC =

Size of metadata (in bytes) on disk.

0x00061561
DB_BTREEMAGIC =

Magic for Hash database

0x00053162
DB_QAMMAGIC =

Magic for BTree database

0x00042253
DB_LOGMAGIC =

Magic for Queue database

0x00040988
DB_RENAMEMAGIC =

Magic for Log database

0x00030800
DBHEADER =

Database header.

BinaryStruct.new([
  'Q',   'lsn',          # 00-07: LSN.
  'L',   'pgno',         # 08-11: Current page number.
  'L',   'magic',        # 12-15: Magic number.
  'L',   'version',      # 16-19: Version.
  'L',   'pagesize',     # 20-23: Pagesize.
  'C',   'encrypt_alg',  # 24: Encryption algorithm.
  'C',   'p_type',       # 25: Page type.
  'C',   'metaflags',    # 26: Meta-only flags.
  'C',   'unused1',      # 27: Unused.
  'L',   'free',         # 28-31: Free list page number.
  'L',   'last_pgno',    # 32-35: Page number of last page in db.
  'L',   'unused3',      # 36-39: Unused.
  'L',   'key_count',    # 40-43: Cached key count.
  'L',   'record_count', # 44-47: Cached record count.
  'L',   'flags',        # 48-51: Flags: unique to each AM.
  'a20', 'uid',          # 52-71: Unique file ID.
])
SIZEOF_DBHEADER =
DBHEADER.size