Homepage: https://sourceforge.net/projects/cl-btree/
License: MIT?
cl-btree has relatively high code coverage with unit tests but it is still considered unstable because of low usage rate.
There is two types of B-trees implemented. Default type uses 32-bit unsigned integers as keys and values. The other type uses string as keys and values. The string B-tree can store anything readable as keys and values. The size of key strings or values is not fixed. String B-tree uses simply prin1 to write and read to read keys and values from cl-swap-file block stream.
Here is a sample session for using string B-tree:
(let ((btree (b-tree:open "/tmp/b-tree-test.db" :type :string :block-size 64 :if-exists :append)))
(b-tree:insert btree 'my-key "This is a test value.")
(b-tree:search btree 'my-key)
(b-tree:close btree))
cl-btree uses cl-swap-file for storing disk blocks on to file.
Download it from https://sourceforge.net/projects/cl-btree/files/
cl-btree can be installed with asdf-install. cl-btree no longer depends on cl-unit-test.
(require 'asdf-install) (asdf-install:install 'cl-btree) ; or (asdf-install:install 'cl-btree-0.12) ; installs versioned dependencies
Tags for cl-btree: StructuredStorage Data Structure
Download ASDF package from http://sourceforge.net/projects/cl-btree/files/cl-btree_0.12.tgz
Pages in this topic: cl-btree-0.10 cl-btree-0.11 cl-btree-0.12 cl-btree-0.3 cl-btree-0.4 cl-btree-0.5 cl-btree-0.6 cl-btree-0.7 cl-btree-0.8 cl-btree-0.9
Also linked from: cl-swap-file
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively