Module bitcask

Data Types

bc_state()

abstract datatype: bc_state()

Function Index

close/1Close a bitcask data store and flush any pending writes to disk.
close_write_file/1Close the currently active writing file; mostly for testing purposes.
delete/2Delete a key from a bitcask datastore.
fold/3fold over all K/V pairs in a bitcask datastore.
fold/6fold over all K/V pairs in a bitcask datastore specifying max age/updates of the frozen keystore.
fold_keys/3Fold over all keys in a bitcask datastore.
fold_keys/6Fold over all keys in a bitcask datastore with limits on how out of date the keydir is allowed to be.
get/2Retrieve a value by key from a bitcask datastore.
get_filestate/2
get_opt/2
has_pending_delete_bit/1
is_empty_estimate/1
is_frozen/1
is_tombstone/1
iterator/3Start entry iterator.
iterator_next/1Get next entry from the iterator.
iterator_release/1Release iterator.
leak_t0/0
leak_t1/0
list_keys/1List all keys in a bitcask datastore.
merge/1Merge several data files within a bitcask datastore into a more compact form.
merge/2Merge several data files within a bitcask datastore into a more compact form.
merge/3Merge several data files within a bitcask datastore into a more compact form.
needs_merge/1
needs_merge/2
open/1Open a new or existing bitcask datastore for read-only access.
open/2Open a new or existing bitcask datastore with additional options.
put/3Store a key and value in a bitcase datastore.
status/1
sync/1Force any writes to sync to disk.

Function Details

close/1

close(Ref::reference()) -> ok

Close a bitcask data store and flush any pending writes to disk.

close_write_file/1

close_write_file(Ref) -> any()

Close the currently active writing file; mostly for testing purposes

delete/2

delete(Ref::reference(), Key::binary()) -> ok

Delete a key from a bitcask datastore.

fold/3

fold(Ref::reference() | tuple(), Fun::fun((binary(), binary(), any()) -> any()), Acc0::any()) -> any() | {error, any()}

fold over all K/V pairs in a bitcask datastore. Fun is expected to take F(K,V,Acc0) -> Acc

fold/6

fold(Ref::reference() | tuple(), Fun::fun((binary(), binary(), any()) -> any()), Acc0::any(), MaxAge::non_neg_integer() | undefined, MaxPut::non_neg_integer() | undefined, SeeTombstonesP::boolean()) -> any() | {error, any()}

fold over all K/V pairs in a bitcask datastore specifying max age/updates of the frozen keystore. Fun is expected to take F(K,V,Acc0) -> Acc

fold_keys/3

fold_keys(Ref::reference(), Fun::function(), Acc::term()) -> term() | {error, any()}

Fold over all keys in a bitcask datastore. Must be able to understand the bitcask_entry record form.

fold_keys/6

fold_keys(Ref::reference(), Fun::function(), Acc::term(), MaxAge::non_neg_integer() | undefined, MaxPut::non_neg_integer() | undefined, SeeTombstonesP::boolean()) -> term() | {error, any()}

Fold over all keys in a bitcask datastore with limits on how out of date the keydir is allowed to be. Must be able to understand the bitcask_entry record form.

get/2

get(Ref::reference(), Key::binary()) -> not_found | {ok, Value::binary()} | {error, Err::term()}

Retrieve a value by key from a bitcask datastore.

get_filestate/2

get_filestate(FileId, State) -> any()

get_opt/2

get_opt(Key, Opts) -> any()

has_pending_delete_bit/1

has_pending_delete_bit(File) -> any()

is_empty_estimate/1

is_empty_estimate(Ref::reference()) -> boolean()

is_frozen/1

is_frozen(Ref::reference()) -> boolean()

is_tombstone/1

is_tombstone(X1) -> any()

iterator/3

iterator(Ref::reference(), MaxAge::integer(), MaxPuts::integer()) -> ok | out_of_date | {error, iteration_in_process}

Start entry iterator

iterator_next/1

iterator_next(Ref::reference()) -> #bitcask_entry{} | {error, iteration_not_started} | allocation_error | not_found

Get next entry from the iterator

iterator_release/1

iterator_release(Ref::reference()) -> ok

Release iterator

leak_t0/0

leak_t0() -> any()

leak_t1/0

leak_t1() -> any()

list_keys/1

list_keys(Ref::reference()) -> [Key::binary()] | {error, any()}

List all keys in a bitcask datastore.

merge/1

merge(Dirname::string()) -> ok | {error, any()}

Merge several data files within a bitcask datastore into a more compact form.

merge/2

merge(Dirname::string(), Opts::[term()]) -> ok | {error, any()}

Merge several data files within a bitcask datastore into a more compact form.

merge/3

merge(Dirname::string(), Opts::[term()], FilesToMerge::{FilesToMerge::[string()], FilesToDelete::[string()]}) -> ok | {error, any()}

Merge several data files within a bitcask datastore into a more compact form.

needs_merge/1

needs_merge(Ref::reference()) -> {true, {[string()], [string()]}} | false

needs_merge/2

needs_merge(Ref::reference(), Opts::proplists:proplist()) -> {true, {[string()], [string()]}} | false

open/1

open(Dirname::string()) -> reference() | {error, timeout}

Open a new or existing bitcask datastore for read-only access.

open/2

open(Dirname::string(), Opts::[term()]) -> reference() | {error, timeout}

Open a new or existing bitcask datastore with additional options.

put/3

put(Ref, Key, Value) -> any()

Store a key and value in a bitcase datastore.

status/1

status(Ref::reference()) -> {integer(), [{string(), integer(), integer(), integer()}]}

sync/1

sync(Ref::reference()) -> ok

Force any writes to sync to disk.


Generated by EDoc