this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Start with a single root leaf page

garrison edc0a07c 113ff852

+3 -11
+3 -11
lib/btree/btree.ex
··· 1 1 defmodule Hobbes.BTree do 2 2 alias Hobbes.BTree 3 - alias Hobbes.BTree.{Store, FreeList, Page, Writer} 3 + alias Hobbes.BTree.{Store, FreeList, Page} 4 4 5 5 import ExUnit.Assertions, only: [assert: 1] 6 6 ··· 99 99 100 100 assert not :ets.member(btree.root_store, :root_address) 101 101 102 - [root_index, leaf_index] = FreeList.reserve_pages(free_list, 2) 103 - 104 - [{_ek, leaf_data}] = Page.encode_page_from_pairs(:leaf, opt_page_size, [], @keyspace_end_key) 105 - leaf_checksum = Store.checksum(leaf_data) 106 - :ok = Store.write_page(store, leaf_index, leaf_data) 107 - 108 - leaf_end_key = "\xFF\xFF\xFF\xFF" 109 - leaf_address = <<leaf_index::integer-64, leaf_checksum::binary-16>> 102 + [root_index] = FreeList.reserve_pages(free_list, 1) 110 103 111 - root_pairs = [{leaf_end_key, leaf_address}] 112 - [{_ek, root_data}] = Writer.write_root(btree, root_pairs) 104 + [{_ek, root_data}] = Page.encode_page_from_pairs(:leaf, opt_page_size, [], @keyspace_end_key) 113 105 root_checksum = Store.checksum(root_data) 114 106 :ok = Store.write_page(store, root_index, root_data) 115 107