Module pager

Module pager 

Source
Expand description

B-tree index over the .idx file.

§Page wire format

Leaf page (page_type = 0):

[page_type:    u8      ] = 0
[num_entries:  u16 LE  ]
[next_leaf_id: u32 LE  ]   0 = end of linked list
for each entry:
  [key_len:    u16 LE  ]
  [key:        bytes   ]   bincode-encoded key
  [data_offset:u64 LE  ]   byte offset in .idb
  [data_len:   u32 LE  ]   byte length of record in .idb

Internal page (page_type = 1):

[page_type:  u8      ] = 1
[num_keys:   u16 LE  ]
[child_0:    u32 LE  ]
for each key i:
  [key_len:  u16 LE  ]
  [key:      bytes   ]
  [child_(i+1): u32 LE]

Structs§

IndexMeta
The decoded metadata from page 0.
Pager

Constants§

MAGIC
PAGE_SIZE
PAGE_TYPE_INTERNAL
PAGE_TYPE_LEAF